这是我在做单片机最小系统板时候碰到的问题,之前虽然也做过相似的板子,可是未曾出现过无源晶振不起振的问题.下面是我在遇到问题后的一些检查,排除问题的过程.本人小菜鸟一个,文章中如有错误和不足,还望各位大佬指正和补充. 事情是这样的,本人做了一款32单片机最小系统板(先叫它老大),在老大出来之前的前五个月,我用相同的PCB板焊了一款用在毕设上面,那个是能正常工作的.板上有个小负载,LED灯.想让这个灯闪烁.代码是没有问题的,因为下载到从网上买的单片机是正常工作的.用JLink下载到自己做的板子上也是…
STM32F103单片机解密资料下载 一.STM32 32位ARM Cortex MCU 基于ARM® Cortex® M 处理器内核的 32位闪存微控制器STM32产品家族,为MCU用户开辟了一个全新的自由开发空间,并提供了各种易于上手的软硬件辅助工具. STM32 MCU融高性能.实时性.数字信号处理.低功耗.低电压于一身,同时保持高集成度和开发简易的特点. 业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32单片机成为各类中小项目和完整平台解决方案的理想选择. 二…
STM32的RTC晶振经常出现不起振的问题,这已经是“业界共识”了.很多人在各种电子论坛上求助类似于“求高手指点!RTC晶振不起振怎么办”的问题,而其答案基本可以概括为“这次高手帮不了你了” 更有阴谋论者提出让人啼笑皆非的解释——STM32的RTC晶振不起振是ST与晶振厂商串通后故意搞出来的,目的是提高某晶振厂商高端晶振的销量. 最近做的几块板子也用到了STM32的RTC,前后两版一共做了大概6片,幸运的是并未遇到晶振不起振的现象.而我采用的是3毛钱一个的普通晶振,并未选用传说中低负载高精度晶振…
STM32官方提供的库文件中,HSE(外部高速时钟)默认为8MHz,最高主频为8*9=72MHz,如果将HSE变为12MHz,不修改库文件的话,最高主频则变为12*9=108MHz,最典型的问题就是USART可以通信,但是接收到的数据与发送的不一致,并且找不到啥原因,害的我瞎折腾了一整天,下面列举需要修改的地方. 1.修改stm32f10x.h中的HSE_VALUE,原本的代码如下: #if !defined HSE_VALUE #ifdef STM32F10X_CL #define HSE_V…
1. STM32f103有内部晶振.刚刚上电时,所有Clock都是源于内部晶振,所以当片内没有程序或内部程序没有使能外部晶振时,外部晶振是不会起振的.2. STM32f103有内部复位电路,只有当检测到外部电压大于电压阀值时才会启动.因为需要检测外部电压,所以模拟Ref/VDDA/VSSA不能开路,做实验是可以将Ref/VDDA与3.3V链接,VSSA与GND链接.3. 串口连接时,要记得正确配置好Boot0和Boot1引脚的电平.4. Jlink链接时,要注意是JTAG模式还是SWD模式.(一…
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fengshuiyue/article/details/79150724 本篇重点记录的是STM32F1的通用定时器. STM32F103ZE有8个定时器,其中2个高级定时器(TIM1.TIM8),4个通用定时器(TIM2.TIM3.TIM4.TIM5),2个基本定时器(TIM6.TIM7).下表是对这8个定时器的详细描述. 定时器种类 位数 计数器模式 产生DMA请求 捕获/比较通道 互补输出 特…
一.硬件方面 除了下面列举的方面,还需要评估下其他措施. 1.电源因素,禁干扰. 只要用廉价劣质的开关电源,不管哪个单片机,都存在EEPROM丢数据和单片机程序丢失的情况. 1.转接板走线,直接接到了单片机IO,静电会直接传导到单片机.应该设计放静电电路.可以到专门实验室做打静电测试验证是否会导致丢程序. 2.对于所有包含有Flash写/擦除子程序的系统,当CPU工作在规定的VDD.温度.系统时钟频率范围之外时,对Flash进行写/擦除操作,都有可能出现Flash数据错误的现象. 系统在单片机的…
好久之前的做的笔记,这里贴出. char String[100];//直接用数组代替指针即可解决 下面代代码下载至单片机中,发现会出现单片机死机问题 #include "stdio.h" char *String; short gx;short gy;short gz; float Pitch,Yall,Roll; if(!(MPU_Get_EulerAngle(&Pitch,&Yall,&Pitch))) { sprintf(String,"陀螺仪:…
官方网址: http://www.stcisp.com/q_and_a_stcisp.html 个人小结 芯片:STC12C5A60S2 封装:LQFP-48 晶振大小:SD22.1184M 最小系统原理图如下(不包含电源部分): 烧录软件版本:stc-isp-15xx-v6.79B 出现的现象 一直处于“正在检测目标单片机……”的状态. 一段时间没找到原因. 看了STC官网上的解决办法汇总,还没确实解决.…
一般来说,stm32f107都是用标配的晶振,比如8MHz. 但是,如果用别的晶振,比如13.56M的晶振,那串口接收还正常吗? 根据试验结果,很可能会飞码.比如说用串口助手发送的是0x35,但是在串口接收中断里面就会得到别的值,即上位机发送的数据和板子接收的数据不一致. 通过查资料,解决办法如下: 修改文件stm32f10x.h, 把 #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator i…