MSP432P 汇编,C语言点灯
【摘要】 目录一、查看芯片手册1.1、寄存器DIR1.2、寄存器OUT1.3、寄存器地址二、汇编2.1、用到指令2.2、完整代码三、c语言一、查看芯片手册led接在P0^1口,高电平亮。1.1、寄存器DIR编辑 共8位,对应P1口的8个IO,设置其工作模式,输入输出。输入0,输出1。使用到0口,写入0x01即可。1.2、寄存器OUT编辑共8位,对应P1口的8个IO,设置其输出高低电平。低电平0...
目录
一、查看芯片手册
led接在P0^1口,高电平亮。
1.1、寄存器DIR
共8位,对应P1口的8个IO,设置其工作模式,输入输出。
输入0,输出1。
使用到0口,写入0x01即可。
1.2、寄存器OUT
共8位,对应P1口的8个IO,设置其输出高低电平。
低电平0,高电平1。
使用到0口,写入0x01即可输出高电平。
1.3、寄存器地址。
可以看出P1口的寄存器DIR,OUT地址分别是。
P1DIR:0x40004C04。
P1OUT:0x40004C02。
可以看出每个寄存器占用2字节空间,也就是16位,我们只使用到了低8位。
二、汇编
2.1、用到指令
EXPORT:表明该符号可以被外部模块使用,类似于C中的extern功能。。
IMPORT:表明要调用的函数为外部文件定义。
STRH:16位数据放入寄存器中。
注:写入只能用STRH指令,不能用STR(因为是16位数据,用STR是32,会超出越界)。
2.2、完整代码。
三、c语言
地址是32位,存储是16位。
所以指针类型也必须是16位的,32位会越界访问(导致程序不能正常运行)。
一个指针变量占用4字节内存空间(无论是什么类型的指针变量都是4,类型只决定可以访问的内存空间是多少字节,例如:char*只能访问1字节内存,int*访问4个连续的内存空间4字节)。
每一个地址空间是1字节内存单元。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)