![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
占毛毛
菜
展开
-
航顺HK32 芯片BUG文档
链接:https://pan.baidu.com/s/1Y0gSdlZ-otRBwX7rwE2ipg提取码:1234官网只有复制ST的数据手册,居然没有该重要文档,隐藏在论坛深处原创 2021-08-17 10:10:09 · 250 阅读 · 0 评论 -
STM32F1串口最高波特率问题
查看datasheet,最高支持4.5M查看代码中波特率变量说明可以看到波特率取决于PCLKx,IntegerDivider,FractionalDivider即总线时钟,整数分频,小数分频。查看BRR寄存器这个地方的用词Mantissa应该不准确,Mantissa译为小数,这里其实是整数的分频配置。对于寄存器具体配置无需仔细查看,只要将波特率设置好即可。但在使用最高波特率时,要将总线时钟配置为最高72M。修改系统时钟时发现无法设置为72M 最大只能设置为64M,原因是没有开启外部高速时钟原创 2021-06-17 16:54:09 · 9017 阅读 · 0 评论 -
国产GD32开发问题总结
一.BOOT设置和STM32不一样,BOOT0需10K电阻下拉二.使用STM32CUBEIDE开发时,需要跳过ST的芯片型号检测:1.更改调试方法,点击Debug Configurations的调试器,在调试探头下选中“ST-LINK(OpenOCD)”2.找到芯片的配置文件:stm32f1x.cfg如果你的软件安装的是默认位置,那么应该在:C:\ST\STM32CubeIDE_1.3.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.debug.o原创 2021-04-07 09:48:16 · 6463 阅读 · 3 评论 -
STM32CUBEIDE的一个严重BUG
使用STM32CUBEIDE生成代码时,不能勾选否则IDE会直接卡死,并把工作空间所有的代码清空,后悔莫及。原创 2021-04-07 09:40:11 · 1197 阅读 · 0 评论 -
裸机开发警钟
我们在程序开发过程中几个忌讳的问题:1、 delay(死等)这类函数应该只在实验室验证某个功能过程中用到,或许是在一些初始化时序使用到,而不会用来控制整个的程序运行架构,在实际的产品开发时无论是主循环while中,还是其调用的函数中,亦或是中断服务程序中几乎是不可能看到的。2、 产品设计的各个相对比较独立的子模块之间的逻辑关系太强,例如:必须等待播音完毕才能读卡进入下一步操作等。我们讲,产品设计中只有各个事件处理模块间的逻辑关系弱化,才能更加灵活的进行处理。例如:两个事件A和B,如果程序开发时将A做成转载 2021-03-19 17:15:48 · 129 阅读 · 0 评论 -
RS232接口电平
232电平特点:1.和串口一样,每一个byte,都有起始位和停止位。起始位1,停止位0,但注意是反逻辑。2.电平信号是反逻辑!3.每个byte,是从低位向高位逐位传输,也就是LSB先传,依次传输到MSB。(为什么这样设计)...原创 2020-11-04 09:21:04 · 2534 阅读 · 0 评论 -
STM32G0 ADC中断+DMA中断模式的问题
今天在调试STM32G0 ADC+DMA中断时发现一个问题:ADC配置为连续采样模式,调试时发现程序一直在中断中运行。导致主循环不运行,猜测是因为中断触发频率过高导致。ADC改为单次触发模式,果然问题解决。为什么连续采样模式会这样呢?目前没空查找。 将采样速度调低,不知道能不能解决。...原创 2020-08-20 15:39:25 · 2537 阅读 · 1 评论 -
更新MDK的Jlink版本
今天在使用NXP的RT1052时,出现MDK识别不到芯片的问题(每次换芯片基本都会出现 FK)。经过排查,2个问题导致:1.必须要用Jlink给芯片3.3V。这个应该是硬件问题,画的板子有缺陷。2.之前没用过M7内核的芯片,我的MDK的Jlink版本是4.9,里面没有支持M7内核的DLL。解决方法:下载高版本Jlink驱动,如6.2。将J-Link V6.2安装目录下的JLinkARM.dll替换掉MDK安装目录下Keil_v5\ARM\Segger的JLinkARM.dll,至此,问题得到解决原创 2020-07-30 15:46:01 · 2277 阅读 · 0 评论 -
AD4112使用CRC注意
最近使用ADI的一款AD的CRC校验时,发现了一个隐藏的问题1.配置AD寄存器时,一般情况不必考虑各个寄存器先后顺序(我之前没考虑,也没发现什么问题)。但在使用CRC时,要先使能控制CRC使能位的寄存器,如AD4112的interface寄存器要先配置。而且配置该寄存器时不能加CRC帧。原因:因为芯片上电默认失能CRC,如果先配置其他寄存器加了CRC帧,帧结构会错乱,导致配置数据错乱,AD工作异常...原创 2020-06-24 13:45:34 · 485 阅读 · 1 评论 -
STM32 在线升级功能(IAP)总结
在开发产品完成之后,用户使用过程中可能提出新要求(Fuck客户),或出现BUG(肯定的)。需要使用一种较为方便的方法给MCU或外挂flash更新程序。目前接触过的接口有:1.串口2.USB(DFU)3.网口3种方式的原理基本一样。都是写一个bootloader程序,在MCU上电时判断某引脚电平,选择进入bootloader程序还是APP程序。第一种这种方式原子哥的历程中讲解很详细且有源码。第二种这种方式是使用ST做好的DFU功能进行升级。需要用到2个上位机软件:1.DFU file Ma原创 2020-06-04 14:51:46 · 706 阅读 · 1 评论