STM32入门踩坑笔记——
Posted 若你遇见她
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32入门踩坑笔记——相关的知识,希望对你有一定的参考价值。
STM32入门踩坑笔记——(2)
无敌的我、又回来了。。。。
又是元气满满的一天、又是踩坑崩溃的一天。昨晚上连夜把跑马灯寄存器版本搞定了。这里需要声明一下。哈哈、首先说我不是水军或者托儿哈!!我是使用正点原子的精英版的板子。型号是:stm32f10xzet6。也是跟着他的教学视频来了学习的。的的确确、他讲的是特别详细的。不过我还是遇到了一些沙雕问题,主要是记录自己学过程吧。帮助其他人完全谈不上。好了下面就开始今天的踩坑吧!!!
关于使用工程模板的问题
这里其实稍微细心的人就会发现,在视屏讲解中(具体是《第14讲 手把手编写跑马灯实验-寄存器版本》。这里虽然是用寄存器控制,但是使用的工程模板还是在库函数的工程模板。这个很重要。不然你后面会发现。??嗯?怎么没有main函数啊? 别问。问就是我是这样的。然后我还去百度了关于“关于stm32寄存器版本的寄存器+工程模板没有main函数的问题”。在寄存器版本里面的main函数就是test函数。相当于(手动狗头保命)。如果哪位大佬知道这个问题的具体解释、就麻烦大佬在评论区指点一二。小弟不胜感激。
二关于报错:Undefined symbol main (referred from __rtentry2.o).
如图示,这样的报错。我就得就我才干的出这样的事情。。导致这个问题的原因就是代码关键词词写错了,哈哈。没错,不要怀疑,就是这样。我的是main写成mina 了。。笑死,小垃圾博主。哈哈。不过这个问题也需要其他兄弟姐妹引以为戒,不要太过于自信。写代码一定要细心。
二关于代码或与非等等其他常见操作
相信会有一部分兄弟和我一样,由于c的基础不怎么样。导致见到 |= 、 &=这些符号的时候。多多少少觉得打脑壳。首先、兄弟们不要怕。网上这方面教程也是比较多的,而且正点原子里面也讲了个大概。我这里就不做赘述了。直接上网的记忆方法。但是关于他们移位的原理、肯定是需要明白的。兄弟们不要偷懒啊!
eg:RCC-> |= 1<<3。这里的意思就是把 RCC寄存器的第3位(实际是第4位,第一位是0位)置1.
eg:GPIO -> CRL &= 0xFFF0FFFFF 这里的意思是把 GPIOB 的CRL寄存器的5号位清0.
eg:GPIOE->ODR&=~(1<<5); 这里的意思是 把GPIO的5号位置零。
具体移位和相关寄存器原理大家就自下去看看资料吧!主要是我水平有限也讲不太清楚。就不瞎掺和了。
好了、今天的水文就到这里了,拜拜。
以上是关于STM32入门踩坑笔记——的主要内容,如果未能解决你的问题,请参考以下文章
STM32入门踩坑笔记——USART1_IRQHandler的重复定义