STM32F0没有位带操作,请问有什么简单方便的处理方法吗?

2019-07-14 16:13发布

STM32F1中支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。
在 CM3 中,有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB范围。这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字。当你通过位带别名区访问这些字时,就可以达到访问原始比特的目的。
而STM32F0好像没有位带操作,大家想要快速的使用STM32F0的某个引脚时,又需要快速操作,大家都是怎么解决的。比如访问3.2寸的TFT屏,要求读写速度要快,但使用库函数要慢些?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
sasasa211
1楼-- · 2019-07-15 11:14
寄存器操作再弄个宏定义可以不
cmh14
2楼-- · 2019-07-15 11:56
学习一下   
7762642422d
3楼-- · 2019-07-15 17:33
卜东青是的 发表于 2018-11-7 19:17
这位大神能否给个例子,谢谢

你模拟F3中的例子,新建一个针对寄存器的结构体,把不同的位对应到成员。
参考下C中对结构体、位段及联合的说明,
具体问题具体分析。
你我然后
4楼-- · 2019-07-15 22:30
 精彩回答 2  元偷偷看……
60user85
5楼-- · 2019-07-15 23:54
学习学习学习学习
ke3978
6楼-- · 2019-07-16 01:56
用结构体位段,但速度估计还是比不上STM32的位带操作。而且它不会被中断打断。

一周热门 更多>