![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
文章平均质量分 94
ForeverIT
这个作者很懒,什么都没留下…
展开
-
STM32 使用硬件I2C接口读写EEPROM
CPU作为老板,发钱需要自己转帐,收钱需要自己看信息,是一种悲哀。上一篇《STM32 使用IO口模拟I2C时序》,我们讲述了“论老板如何自己发钱和收钱”。这一篇《STM32 使用硬件I2C接口读写EEPROM》,我们来讲述“论老板如何雇佣员工帮忙发钱和收钱”。我们先来招聘一个职位:岗位职责:1、自动产生I2C时序,向其他芯片发送(发钱)或者接收(收钱)数据。任职要求:1...原创 2020-04-15 11:23:25 · 2635 阅读 · 1 评论 -
STM32 使用IO口模拟I2C时序
上一篇《I2C协议详解》我们了解了I2C的操作流程,这一篇,我们就使用I2C,来对EEPROM进行操作吧。我们做两种选择:1.时序由IO口模拟高低电平,需要了解协议并按照协议操作相应的IO口。2.时序由硬件自行产生,不需要人工干预;由硬件产生的I2C时序,我们借助Stm32Cube配置实现便可,我们这一篇,抛开Stm32Cube,手撕代码,根据I2C的时序,一步步地实现I2C对...原创 2020-04-11 16:16:56 · 7762 阅读 · 1 评论 -
STM32 基本定时器
小明妈妈跟小明说:“10分钟后,你再不给我去做作业我就揍你!”,接着,小明妈妈看着手表,1秒钟数1下,0,1,2,3,……,599。看看小明有没有做作业,根据情况判断要不要揍他。 接着,小明妈妈又从0数起,到599,继续看看小明有没有做作业…… ……再数数…… …… 于是,小明妈妈就是一个每隔10分钟监视一下小明有没有做作业的定时器,手表,就是小明妈妈定时器的时钟,小明...原创 2018-12-23 23:51:58 · 5845 阅读 · 0 评论 -
I2C协议详解
I2C协议---由发钱想到的... 月圆之夜,紫禁之巅,一剑西来,天外飞仙... 屋顶有人,两个人,一个是黑衣人,另一个也是黑衣人,一胖一瘦。 胖的叫“钱哆哆”,外号“马斯特(Master)”,笔名“主设备”,人称“钱老板”,没有人知道他具体有多少钱,只知道很多很多... 瘦的叫“项药前”,外号"斯莱姆(Slave)",笔名“子设备”,其他,不详。...原创 2018-10-24 15:18:47 · 1648 阅读 · 3 评论 -
STM32 Uart @调试命令的实现
这篇,我们讲一讲@命令的实现,我们就以 @cmd 参数1 参数2 参数3 ... 为例,实现在STM32上使用@cmd 进行调试。这样,我们就把基本的调试平台搭建起来了,可以使用串口调试工具进行调试了,类似于linux的控制台。 在《STM32 Uart 实现printf函数》的代码里面,已经配置好串口,并设置好串口DMA接收,且实现在串口打印功能,我们就是《STM32 ...原创 2018-09-08 22:22:01 · 3312 阅读 · 1 评论 -
STM32 Uart 接收不定长数据
前面讲了Uart三种不同的方式接收数据,请参照《STM32 Uart及其配置》《STM32 Uart中断接收》《STM32 Uart DMA方式接收数据》,但是,它们都需要指定数据的长度,但实际应用中,会出现不定长度的数据,比如,某些模块的@命令,那么,如何接收不定长度的数据呢?今天,我们就来扒一扒STM32 Uart 变长数据的接收。 问题来了,变长数据包,我们如何确定...原创 2018-08-25 22:54:56 · 18466 阅读 · 19 评论 -
STM32 Uart 实现printf函数
在《STM32 Uart 接收变长数据》的结尾,我们觉得每次使用这样的形式来输出信息感觉好麻烦,也不方便调试。 HAL_UART_Transmit(huart, &RxLenHi, 1, 1000); // 发送长度高位 HAL_UART_Transmit(huart, &RxLenlo, 1, 1000); // 发送长度低位 HA...原创 2018-08-31 23:42:21 · 9871 阅读 · 2 评论 -
STM32系列--从入门到精通
使用STM32也有好几个年头,起初用的开发板已经积灰了,刷干净开发板上的灰,我觉得,应该写点什么东西了,把这些年来调试走过的路,一些心得,一些体会,记录下来,希望对大家有所帮助。个中的一些知识,若有不中肯或描述不当的地方,也请各位多多指正。 以前,我使用的是ST的标准库,后来,发现有一个叫Stm32CubeMx的工具,这个工具能省去很多基本配置的工作,快速地生成工...原创 2018-08-17 17:41:37 · 13818 阅读 · 9 评论 -
STM32 Uart DMA方式接收数据
CPU开了一家公司,叫“搬砖有限公司”,刚开始,只有CPU老板会搬砖,每次需要搬砖头的时候,他都要自己把砖头从一个房间搬到另一个房间,影响他做其他事的效率。后面,他招了一个搬砖小能手,名字叫DMA,现在,每次需要搬砖头的时候,他只需要告诉DMA:“一次搬2块,搬1024块砖,从研发部,搬到生产部”就行了,他可以解放双手,做更重要的事。DMA搬完砖头后,会跟老板汇报:“老板,搬完了”。于...原创 2018-08-17 00:03:36 · 18411 阅读 · 2 评论 -
STM32 Uart中断接收
小明正在玩游戏,小明的妈妈喊小明吃饭,这时,小明放下游戏,先去吃饭,吃完饭后,继续玩游戏。 这就是中断!“正在玩游戏”是执行程序,“小明的妈妈”是中断源,“喊小明吃饭”是中断产生,“小明吃饭”是中断处理,“吃完饭”是中断处理完成,“继续玩游戏”是继续执行程序; 中断,就是CPU在执行程序过程中(小明玩游戏),由于计算机内部/外部发生其它事件(小明...原创 2018-08-12 23:42:56 · 19684 阅读 · 5 评论 -
STM32 Uart及其配置
重要的事情要说三遍,这个通信口,非常重要!非常重要!非常重要!Uart = Universal Asynchronous Receiver/Transmitter,通用异步接收器/发送器,它的特点就在于它的名字,通用,很多地方都用到;异步,它没有同步时钟;接收器/发送器:能收能发,全能小超人。一般用在上位机(比如PC,比如中控等)与单片机的通信,单片机与模块间的通信,单片机与单片机的通信...原创 2018-08-01 22:44:09 · 15729 阅读 · 0 评论 -
STM32CubeMx 创建第一个工程
工欲利其事,必先利其器,今天就先来利一利STM32CubeMx这个器吧; 先说一下STM32CubeMx是干啥子的吧,它能帮你建工程,生成部分代码,你只要往相应的代码里面添加你的功能便可以了,总之,它可以减少你的工作量就对了; 1.下载安装 a.下载安装JRE:STM32CubeMx是基于JAVA运行的,所以要先下载安装JRE,地址:http://www.oracl...原创 2018-07-08 16:54:35 · 15431 阅读 · 3 评论