单片机第一次点灯各种可能遇到的问题

单片机第一次点灯各种可能遇到的问题
COTOMO单片机第一次点灯各种可能遇到的问题
前两天兴致勃勃买了块STM32,开始给单片机写程序。虽说大一开学就学了C语言,但还是踩了不少坑。
在这里写写可能出现的问题。
1.看错调试器了
嗯,大概是看视频教程的时候,发现视频教程的调试器和自己的除了颜色其他的都一样,于是毫不犹豫地为调试器一栏选上了ST-Link。多次尝试发现电脑就是打不上ST-Link的驱动,遂质问店家,答曰:
1 | 亲亲,咱们家的是DAP调试器,不需要驱动更方便哦! |
另:某人的嘲讽
好嘛,下次注意。
2.没有正确的连接系统板和下载器
简单来说,下载器上面的接口排列顺序和系统板上面的是不一样的。也就是说,你不可能在没有分开四条杜邦线的前提下把正确的接线。此外。如果你真的接错了,那么症状是:单片机闪灯,下载器能够被识别到,但识别不到单片机。
3.没有把所有的定义全部放在函数开头
这是ChatGPT们经常犯的错误。请看下面代码:
1 | int main(void)//注意,main函数最好是void型 |
使用AI生成的代码时,常常是这些使得代码不能通过编译。
4.缺少库文件
主要症状是引入头文件后任然显示函数未定义。这个时候就应该检查一下是不是添加了库文件,储存库文件的路径有没有添加到工程里,以及:
千万不要只往文件夹里面添加了”xxx.h”,忘了添加”xxx.c”!!!s
5.函数结尾没有空一行
1 | ......//省略上面的很长的部分 |
嗯,没空就会报错,疯了。😥
到这里你的灯应该亮起来问题不大了,这个时候你应该会觉得LED太亮了想试试PWM
6.呼吸灯不呼吸了
1 | int main(void) { |
7.UART串口没动静
当你的CH340驱动安装好了,串口线也插好了,但是串口助手没有任何反应的时候,你应该检查一下:
你是不是把串口初始化的代码写在了main函数的最后,而不是最前面。这个时候你应该把串口初始化的代码放在main函数的最前面。
此外,最坑爹的是,你是不是把TXD和RXD接反了。你的TXD应该接到单片机的RXD上,RXD接到TXD上,而不是TXD接到TXD上。
先写到这里,要补充了再加。







