您的位置:首页 > 其它

【资源共享】STM8/STM32之新手常见问题集

2016-12-12 00:08 375 查看
本篇博文最后修改时间:2017年03月07日,18:17。




一、简介

本文集合了香瓜整理的STM8、STM32的新手常见问题。

、版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667

甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

三、STM8之新手常见问题集

1、为什么STM8S初始化外部24M晶振时失败?

答:



因此需要做如下:





这样即可使用外部24M晶振了。

2、如何不用定时器,做延时函数?

答:

//假设4M的晶振,每个nop是0.25us,则:
#define DELAY_1US    nop;……nop;                  //一共4个nop
#define DELAY_10US   DELAY_1US……DELAY_1US        //一共10个DELAY_1US;
#define DELAY_100US  DELAY_10US……DELAY_10US      //一共10个DELAY_10US;
#define DELAY_1MS    DELAY_100US……DELAY_100US    //一共10个DELAY_100US;
#define DELAY_10MS   DELAY_MS……DELAY_MS          //一共10个DELAY_1MS
#define DELAY_100MS  DELAY_10MS……DELAY_10MS      //一共10个DELAY_10MS
#define DELAY_1S     DELAY_100MS……DELAY_100MS    //一共10个DELAY_100MS

四、STM32之新手常见问题集

1、我的板子上没有外部晶振,如何只使用STM32的内部RC震荡电路?

答:



(待实测)

2、BOOT0和BOOT1如何接线?

答:
1)BOOT1=x    BOOT0=0(最常见,BOOT0直接接地):从用户闪存启动,这是正常的工作模式。
2)BOOT1=0   BOOT0=1:从系统存储器启动,这种模式启动的程序功能由厂家设置。
3)BOOT1=1   BOOT0=1:从内置SRAM启动,这种模式可以用于调试。

3、仿真时代码跑飞进启动文件的B处是怎么回事?如下图



答:

原因是编译器找不到中断服务入口,目前遇到的两个原因:

1)中断函数名称拼写错误。

2)中断服务函数被“#ifdefine XXX”和“#endif”包含,但没有定义XXX。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: