你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
大秦正声 发表于 2015-1-6 15:06 可读性提高了啊
QianFan 发表于 2015-1-6 15:08 。。。万一哪天你忘记了ODR的地址怎么办 或者你把ODR的地址写错了怎么办? ...
我是酱油哥 发表于 2015-1-6 16:39 问一句C语言里 直接访问内存的指令是什么 ?有没有什么资料介绍一下 谢了啊 ...
大秦正声 发表于 2015-1-6 16:16 已经把地址改成PA_OUT等 就是不标准
cxtarm 发表于 2015-1-6 17:55 直接操作地址好麻烦
大秦正声 发表于 2015-1-6 18:07 是的对硬件要求很熟悉
cxtarm 发表于 2015-1-6 18:09 结构体操作多简单啊,还有库
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器
。。。万一哪天你忘记了ODR的地址怎么办
或者你把ODR的地址写错了怎么办?
已经把地址改成PA_OUT等
就是不标准
谢了啊
将地址转换成指针访问:
比如:将内存是0XA000_0000处的值写成100:
*((volatile uint32_t *)0XA000_0000)=100;
千万不要在windows上面实验这样的代码,因为他们有内存保护。
像你说的这样,GPIOA->ODR,DDR,。。。是不是都需要使用宏声明一下?
而在官方的头文件中,只需要使用结构体的自动偏移就行了。
这样在传递参数的时候更方便。就像WriteBits,只需要传递一个GPIOA就行了,其余的比如ODR都可以知道,而像你这种方式,ODR,IDR等等寄存器的地址都需要手动计算
是的对硬件要求很熟悉
写st内部 sram
*(long*)0x20000800=0x5555aaaa;
结构体操作多简单啊,还有库
有道理,可读性好