你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f072 NUCLEO I/O口寄存器直接操作编程!

[复制链接]
大秦正声 发布时间:2015-1-6 12:44
阅读主题, 点击返回1楼
收藏 评论21 发布时间:2015-1-6 12:44
21个回答
QianFan 回答时间:2015-1-6 15:08:19

。。。万一哪天你忘记了ODR的地址怎么办
或者你把ODR的地址写错了怎么办?
大秦正声 回答时间:2015-1-6 16:16:55
QianFan 发表于 2015-1-6 15:08
。。。万一哪天你忘记了ODR的地址怎么办
或者你把ODR的地址写错了怎么办? ...

已经把地址改成PA_OUT等
就是不标准
我是酱油哥 回答时间:2015-1-6 16:39:53
问一句C语言里 直接访问内存的指令是什么 ?有没有什么资料介绍一下
谢了啊
QianFan 回答时间:2015-1-6 17:10:42
我是酱油哥 发表于 2015-1-6 16:39
问一句C语言里 直接访问内存的指令是什么 ?有没有什么资料介绍一下
谢了啊 ...

将地址转换成指针访问:
比如:将内存是0XA000_0000处的值写成100:
*((volatile uint32_t *)0XA000_0000)=100;
千万不要在windows上面实验这样的代码,因为他们有内存保护。
QianFan 回答时间:2015-1-6 17:14:05
大秦正声 发表于 2015-1-6 16:16
已经把地址改成PA_OUT等
就是不标准

像你说的这样,GPIOA->ODR,DDR,。。。是不是都需要使用宏声明一下?
而在官方的头文件中,只需要使用结构体的自动偏移就行了。
这样在传递参数的时候更方便。就像WriteBits,只需要传递一个GPIOA就行了,其余的比如ODR都可以知道,而像你这种方式,ODR,IDR等等寄存器的地址都需要手动计算
cxtarm 回答时间:2015-1-6 17:55:42
直接操作地址好麻烦
大秦正声 回答时间:2015-1-6 18:07:28
cxtarm 发表于 2015-1-6 17:55
直接操作地址好麻烦

是的对硬件要求很熟悉
大秦正声 回答时间:2015-1-6 18:09:35
我是酱油哥 发表于 2015-1-6 16:39
问一句C语言里 直接访问内存的指令是什么 ?有没有什么资料介绍一下
谢了啊 ...

写st内部 sram
*(long*)0x20000800=0x5555aaaa;
cxtarm 回答时间:2015-1-6 18:09:44
大秦正声 发表于 2015-1-6 18:07
是的对硬件要求很熟悉

结构体操作多简单啊,还有库
大秦正声 回答时间:2015-1-6 18:12:26
cxtarm 发表于 2015-1-6 18:09
结构体操作多简单啊,还有库

有道理,可读性好

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版