摘要:
Standby模式 STM32有多种低功耗模式,Sleep,Stop,Standby,三种模式,Standby模式是功耗是最低的,同时MCU不保存大部分状态,唤醒后系统将重新开始运行。 IWDG 对于一些设计来说,不存在复位按键,因此需要配置看门狗防止系统死机,不然死机后需要拨电池,这样就不太人性化 阅读全文
摘要:
使用stm32cubemx生成硬件I2C的代码 不过自动生成的代码,调用HAL_I2C_XXX的API工作不正常,返回错误代码为I2C_BUSY 使用STM32的I2C接口使用时需要注意很多细节,不过HAL库中官方已经为用户根据这些细节做了处理,可以直接使用。不过这个I2C代码并不稳定,有些板子可以 阅读全文
摘要:
UCOSIII之STM32上下文切换理解 程序上下文(context) 上下文(context),指的是什么呢,个人可以理解为一个任务或者线程控制的一些变量及CPU的寄存器状态,就是说任务被打断执行以后还可以还原回来。所以上下文就指的是两个操作,被打断任务状态的保存及就绪作务的还原。如果说一个任务的 阅读全文
摘要:
RGB屏驱动 这里讲下大致的流程,不作具体详细代码示例。 TFT LCD的屏幕驱动方式有很多种,以12864来说,一般是直接由SPI来操作屏的驱动IC,再来IC来负责驱动屏幕,还有一个驱动接口如8080或者6800,相对于SPI来说这两种并口的数据处理方式会提高相应的数据传输速度,上述的接口都称之为 阅读全文
摘要:
Modbus的CRC校验实验 表述 Name : "CRC-16/MODBUS" Width : 16 Poly : 8005 Init : FFFF RefIn : True RefOut : True XorOut : 0000 Check : ? 先参考一些厂家给的MODBUS校验程序 con 阅读全文
摘要:
概念 CRC(Cyclic redundancy check),循环冗余校验 CRC校验是用于检测一帧数据发送是否正确,只有确认对错的作用,并没有纠错的能力。 还有一点就是CRC校验通过了,并不代表这个数据肯定就是正确的,只能说尽可能减少出错的概率,当然 CRC错了那么这个数据肯定是不正确的。 而这 阅读全文
摘要:
STM32一种使用HAL,DMA,IDLE,POLLING的方式来处理UART的不定长接收机制 设备接收数据 (DMA) 采用的HAL库,同时在UART初始化的时候添加DMA相关操作,在系统开始运行时,开始使用HAL_UART_Receive_DMA来启动UART的接收,同时需要定义一个接收的buf 阅读全文
摘要:
初始化 首先讲下UART的初始化 1.声明UART的初始化结构体,并赋值 2.MX生成的代码会调用HAL_UART_MspInit();来初始化UART,当然这个代码也是自动生成,不过用户可以在这个函数里面添加自己想要添加的操作,时面包括了NVIC_Configuration,DMA_Configu 阅读全文