-
学习STM32,看了一堆乱七八糟的文档,准备写程序了,先分析了下STM32的启动代码,看着这堆鬼鬼的汇编代码,挺吓人的,看看帮助,查查网路,还是不那么难懂。
;// ...
-
前言STM32F3xx/STM32F4xx(ARM Cortex-M4内核)中集成了FPU,也就是浮点指令单元,可以将浮点运算变得简单快速,但如果想要发挥出这个浮点运...
-
前言众所周知,STM32所有的MCU中包含Bootloader代码,可以通过对boot引脚(boot0,boot1)的配置从bootloader启动,通过spi/i2...
-
前言客户反馈在使用STM32F205的串口工作在DMA模式时,有时能够接收数据,有时完全没有数据,但如果换成中断模式来接收又能100%正常收到数据。一 复现现象问题背景与客户沟通,...
-
结论: (即在模拟i2c主:在主设置SCL为高后,要超时判断SCL是否为高,再发后面的时序)
现象(如下图):
由于在发送读命令之后,即ACk之后,下面从...
-
时钟拉伸(Clock stretching)
clock stretching通过将SCL线拉低来暂停一个传输.直到释放SCL线为高电平,传输才继续进行.clock stre...
-
SecureCRT下的串口不能输入
用secureCRT建了一个串口COM1后,连接上开发板后,可以正确接受和显示串口的输出,但是按键输入无效。
解决方法:
Session ...
-
调试串口时,发现串口会出现频繁跳中断,导致无法执行主循环的问题!
调试发现是串口中断硬件BUG:
1. USART_ITConfig(USART1, US...
-
这个例子是用EK的板子上的KEY4实现一个鼠标,不需要自己编USB驱动,因为使用标准的HID
用KEIL打开那个USB例子的工程,在main.c:while (1){Delay(...
-
下面这些是在STM32的库文件中摘抄的,可以在以后的编程中利用这些方法。
以下为把IO口转化为一个结构体指针的步骤:
首先是GPIO的...
-
选择了与硬件打交道,就得戒骄戒躁,踏踏实实,一步一步的走下去。可能因为一个非常小的问题,就导致你失败。失败不可怕,可怕的是不能静下心来去思考。我在公司第一次调试硬件,spi的通信,...
-
首先这个问题耗费了我比较多的时间来进行调试,比较郁闷;
1. 同时使用相同的函数进行了USART2和USART3的初始化配置, USART2工作正常, 中断服务程序的结构也是相同...
-
1、开始选择dma方式去采样,读出ad采样的数据值波形是正常的。移植完计算相关的函数后,计算的值相对实际的值有较大的偏差,此时修改固有系数,计算的值没有发生相应的变化,将固有系数改...
-
1、遇到错误问题是数据类型不对,导致该步骤永远不能执行到,跳至硬件错误中断;所以硬件中断可尝试查找数据类型错误。
2、堆栈设置错误也会跳至hardwarefault;
3、如果...
-
本来只是路过,写详细一点。我看楼主浮躁得不得了。现在什么都不要做了,先去看几遍《不要做浮躁的嵌入式工程师》这篇文章,想清楚了,再动手吧。我做了个实例,不用ST的库来点LED,解答你...
-
在调试STM32时,单步打断点运行时,没有问题,但是全速运行时,偶尔会跳过错误,偶尔也会跳转hardfault;
问题实在难找。。。
最后定位在发送数据的缓存上, 发现发送缓存...
-
今天在使用USART模块,遇到了一些问题并解决了,于是发贴共享。问题描述:
在使用USART做串口通讯时,我只把接收中断打开,并设置抢占优先级为最低一个级别,而接收中断上一个优先...
-
cortex-M3的异常向量表中的内容并不是指令,0x00000000处(当然也可能映射到别的范围)是主堆栈指针的数值,0x00000004的内容是复位后需要跳转到的地址,是一个地...
-
1. 软复位
*((u32 *)0xE000ED0C) = 0x05fa0004; //实现系统复位
...
-
1. 什么是位段、位带别名区?
2. 它有什么好处? 答1: 是这样的,记得MCS51吗? MCS51就是有位操作,...