Altery AT32F43x测试
Altery这款MCU还是不错的,IO复用也很人性化
这里主要记录一下更换STM32的MCU之后,需要注意的几个地方:
0. 编译环境的使用
继续使用MDK的话,官方会给一个pack文件,添加进去,使用Software Packs的模式创建工程即可。
如果习惯使用Device Database的话,直接选择ARM-M4就可以了
为了调试方便,我们可以在安装完pack的电脑里面拷贝一个System Viewer File(SFR)文件,这样调试的时候可以看到寄存器
FLASH下载的时候,可以把官方的那个FLM文件拷贝到Keil_v5\ARM\Flash目录下,你添加flash的时候就能找到了
1. CRM,对应ST的RCC,有几个点需要注意:
对于M, N, FR这三个参数需要注意一下
一般用自己的板子直接更换芯片之后,官方给的参考代码,晶振默认都是8M的,所以切记检查,如果不一致,请确认是否超频,否则会把MCU锁死!
如果不幸锁死的话,可以修改BOOT0的配置,内部启动,直接擦除代码即可。
2. UART
他的uart很牛逼,支持485控制,支持发送开始、结束延迟
中断接收:
但是有个地方需要注意:对于ROERR(接收器溢出错误(Receiver overflow error))的处理
之前的ST平台,该错误直接清除,同时清掉接收数据即可
但是在altery这里,产生该错误的时候,数据同时也是有效的。
我目前的处理方式是:先去读数据,之后检查有错误标志的话,清零!
这个错误出现的很频繁,不处理的话,接收数据会丢!!!
检验位使能:
如果使能了校验位: PEN=1, PSEL=0/1,那么需要把数据位增加一个,因为校验位会使用一个数据位
待续...
博客园:http://www.cnblogs.com/linux-farmer/