原创 stm32系列串口初始化问题

2010-4-23 16:24 5428 11 11 分类: MCU/ 嵌入式

 


最近由于工作关系又在搞stm32,由原来的iar 4.2升级为iar5.4 ,库版本也同样升级为3.1.2 ,结果发现自己实在太粗心,就一个串口,都是现成的库函数已经搞了一个礼拜了,出现问题为串口中断初始化不能正常运行,我大体在这儿说一下。


本来以为自己已经很熟悉了,上来就把代码复制过来,一开始串口接收中断打开,发送中断关闭,能够完成初始化,再把接收和发送同时打开,在发送中断使能语句执行完后,程序就跑飞,没办法,先用查询方式发送,MS我倒现在都没有用到发送中断。


TX、RX短接,直接发送,接收中断开始,依然进不了中断函数。估计就是发送根本没有完成,是不是串口根本就没工作?可是RCC、GPIO时钟也已经使能了,不可能啊。


于是,放弃中断的想法,改用查询发送和接收,串口终于有反应了,那就是中断方式没有设置对,本以为是工程配置的问题,折腾了两天,才发现原来只是是NVIC定义向量地址的语句忘记加上了。


NVIC_SetVectorTable( NVIC_VectTab_RAM, 0x0);   //我用的RAM调试


火,感觉stm的库很容易上手,但是也很容易云里雾里的把人绕进去。其实中断不正常的时候早就应该想到是NVIC,可是copy的代码糊弄了自己。


告一段落,我只想说,很多情况下,出现问题,一定要相信自己,静下心来仔细分析,有可能只是很简单的一个语句的问题,作为自己和大家共勉。


接下来,串口为什么不可以一直进中断,能不能实现的问题,需要再搞清楚

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /3 下一条