问题1、如果你安装了Keil5,但是你找不到想要的STM32芯片,你该怎么办?
答:请到Keil官网下载的你想要的芯片的固件库,下载链接如下:
http://www.keil.com/dd2/Pack/
问题2、keil软件仿真时提示no ‘read’ permission没有读或写权限
答:在工程下新建一个debug.ini文件,在文件中写入
map 0x40000000,0x40070000 read write
map 0x50000000,0x50070000 read write
map 0xa0000000,0xa0070000 read write
然后keil中Debug选项卡中的initialliation file中加入此文件。
问题3:STM32F407串口输出乱码
答:这是因为你keil中的晶振频率和使用板子上的晶振频率不一致所导致的。
如你板子上的晶振频率是8MHz,点击编辑界面的魔术棒,如下所示:
再点击 Target ,将Xtal(MHz)中的值改为8,如下图所示:
然后,修改“stm32f4xx.h”文件中的“HSE_VALUE”宏定义,如下所示:
#if !defined (HSE_VALUE)
// #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
#define HSE_VALUE ((uint32_t)8000000)
#endif /* HSE_VALUE */
问题4:STM32串口打印printf发送中文乱码问题
答:
1) 首先要确保使用keil程序正确编译,并且程序经过调试,已经可以正常发送英文字符,但是发送中文字符时乱码。
2) 使用记事本打开main.c文件(或其他主程序),点击另存为,在右下方选择编码方式为ANSI,替换原文件即可
3) 替换完成后,重新进行编译,程序应该可以正常运行。