最近做个新项目打算使用AT32单片机(AT32F403AVGT7),主要是和stm32极度相似,相关开发工具也逐渐完善,想着用个小项目练练手,当然踩坑也是必不可少的。
1.官方是带图形配置软件和IDE的,使用图形配置软件配置好外设后导出代码到IDE后不能直接打开(需要打开IDE导入工程文件夹才可以),而导出的mdk代码就可以直接打开(keil)。
2.导出到IDE后自带的库没有HALL库完善,只做了时钟配置、外设初始化、相关外设的调用函数名(只是空函数,内容要自己写);这方面cubeIDE就好很多生成代码后可以直接调用延时函数、串口发送;对第一次接触的新手友好很多。当然官方也提供相关的例程代码可以自己移植。
3.由于生成的代码不带printf打印调试起来不直观,我把官方例程的printf移植过来,一开始老是报错,经过一天的排查实验发现是包含头文件和汇编代码不在一个文件的原因。经实验无论是放在main.c里还是放在其他初始化文件里都可以正常打印,如果在主函数文件里包含头文件而在外设初始化文件里写PUTCHAR函数就会报错。
4.keil代码优化设置为level0,否则printf编译会报错。