1. 最近在使用STM32时,仿真会提示“
programming failed@address 0x08000000”,最后找到原因为,器件选择没有选择正确造成。
2. 一个项目中采用STM32 的SPI向SD卡写入数据,使用的是SPI2,速度运行在4.5MHz,总是初学文件会错误的写入到其他文件夹中,通过多方寻找,最后问题在
SPI2上,把总线换成SPI1,速度运行在18MHz也是正常的。
3. 一个项目中要用到SPI给点阵屏发送显示数据,同时要用到定时器,定时采用AD值用于录音,发现在定时周期中,总是出现一个奇怪的脉冲信号,最后只能放弃SPI,采用模拟方式实现后正常。
4. 一个项目中,使用到串口时,发现另外一个串口只要使用一会就导致,另外一个串口中断无法退出,最后在串口中添加如下代码后变正常。
- if (USART_GetFlagStatus(USART1, USART_FLAG_ORE) != RESET) // 添加次句,防止串口一直进入此中断
- {
- USART_ReceiveData(USART1);
- }
复制代码5. 一个项目应用中发现,不同STM32,编程是页大小是不同的,必须设置正确,否则无法实现编程:
- /* 不同微处理器页大小不同,一定要设置正确,否则无法编程;
-
- 小容量:16K~32K
- 中容量:64K~128K
- 大容量:256K~512K
- 大容量产品的FLASH每块是2K字节,中容量和小容量的FLASH每块是1K字节。*/
复制代码6. 一个项目中发现,STM32F103C8T6应用程序起始地址只能设置0x4000以下的地址,不能设置为0x4000或以上地址。
7. 一个项目中发现:,
[size=1.17em]对于STM32看门狗和复位无法使用的问题
- 这里使用了复位芯片MAX809,由于此芯片把复位端口拉高了,所以,导致芯片无法实现软复位功能,其解决的方法是:
- 1.去掉MAX809,采用RC复位电路;
- 2.在MAX809与复位端口之间串联一个1K的电阻。
复制代码
[
本帖最后由 zhaojun_xf 于 2013-2-23 15:26 编辑 ]