
STM32
文章平均质量分 77
ASWaterbenben
入职了,搞的依旧是STM32的板上操作系统开发,未使用Linux,今后会深入研究STM32的使用
目前准备开始linux的学习,包括linux的boot移植和驱动开发
展开
-
嵌入式项目管理学习——001重点明确和心态转换
相信做嵌入式的码哥们在参与一定数量的产品设计和生产之后,都会发现一个问题,如果没有一个负责的产品经理,就会陷入到产品延期、沟通缺失、目标不清晰、需求不明确等等的问题,我目前也是达到了这样一个状态,为了解决这一问题,就开始对项目管理进行了一定的学习。注:以下内容是在研读完《人月神话》和《IT项目经理成长手记》之后的一些心得。原创 2022-10-24 11:56:24 · 917 阅读 · 0 评论 -
STM32CubeMX通过FatFS读写U盘
最近出现了使用STM32读写U盘的需求,本着自己也出了好多良心博客的份上就像偷懒抄一篇优快云,但是鉴于某些博主这点小东西都要收费、还不公开源码,一气之下准备自己写一篇博客来谴责某些不良心的博主;(上述气话,接下来上干货)大致思路STM32读写U盘主要分为以下几个方面:1、文件系统(抽象层,以统一方式对不同外设进行读写)2、USB_Host(USB硬件驱动,维持USB的正常工作)3、FreeRTOS(操作系统,鉴于各位可能右用到操作系统的需求加上,也可以裸机跑)具体思想如下:(是不是很简单,就搞原创 2021-11-06 12:40:07 · 10019 阅读 · 19 评论 -
针对嵌入式设备外接设备的驱动开发心得
工作半年,参与的项目里都存在需要外接的设备或是板上的芯片,这些东西都有一个共性,就是需要通过各种通信方式对设备进行控制或是从设备上获取数据,有官方现成驱动的使用官方现成驱动就好,一般问题不大,但是如果有官方驱动效果差或者是官方没有提供驱动的情况就需要自己动手丰衣足食了。该博客仅针对外设官方驱动不满足项目需求或者是官方只给了电文及变量列表,也就是DataShell的情况给出我的一点点建议;1、磨刀不误砍柴工这些外设通常都是通过一些通信接口来与MCU通信,我主要见过的通信方式包括串口(TTL、RS232以原创 2021-08-10 15:52:25 · 428 阅读 · 0 评论 -
基于STM32CubeMX的片外SPIFLASH嵌入FATFS
最近有一个关于SPIFLASH嵌入FATFS的需求,自己也是第一次搞,在此做一个实验记录,方便后期查看,核心在于STM32CubeMX、SPI、片外Flash、FATFS文件系统原创 2021-06-14 14:14:50 · 2130 阅读 · 7 评论 -
stm32板间串口通信escape协议
最近有使用串口的需求,用于两块板间的TTL串口通信,目前常见的串口通信协议可以归纳为两种模式使用串口和一个定时器的通信协议【严格限制时间,常见协议为Modbus RTU】使用单个串口的通信协议【存在数据头、数据尾,常见协议为三菱PLC使用的串口控制协议】对于上述两种模式的优劣势我是如下理解的:串口加定时器模式能够较好的限制通信时间,优势是在多设备通信过程中不会存在因某个通信包未发送完而导致通信系统瘫痪的问题;其劣势在于MCU板上资源紧张的情况下可能会无法抽出定时器给串口使用,串口通信效率为10原创 2021-05-27 11:33:09 · 963 阅读 · 0 评论 -
STM32CubeMX的CAN总线波特率设置
最近在搞CAN相关的问题,传输速率从125Kbps到1Mbps不等,由于使用STM32CubeMX作为代码生成平台,所以计算CAN波特率就需要自己动手算,但是算一次又记不住,索性就直接一次算好之后记下来!原创 2021-04-26 20:43:59 · 4749 阅读 · 0 评论 -
STM32CubeMX的正交编码器encoder
由于最近干活遇到需要获取正交编码的功能,所以返回来研究一下STM32CubeMX的编码器功能,之前也更新过STM32的定时器功能,但是因为之前搞平衡车的正交编码器没有搞清楚原理,就直接用了脉冲输入功能草草了事,现在也算是为之前的年轻买单了,不过看到现有的Encoder说明都比较简单,所以就当是为开发者做贡献了,我研究清楚之后来一篇博客。原创 2021-04-11 11:13:53 · 12131 阅读 · 5 评论 -
STM32CubeMonitor的使用第二部分-历史数据存储以及网络访问
上一篇已经简要的说明了STM32CubeMonitor如何将数据通过历史数据图和仪表盘进行组态测试,所以这次要做的是将检测到的数据转为CSV文件存储,作为数据记录。并实现局域网内的网络访问。原创 2020-06-26 16:40:17 · 2333 阅读 · 2 评论 -
STM32CubeMonitor的使用第一部分-数据绘图以及仪表显示
STM32CubeMonitor可以理解为STM32的组态软件,他能快速将STM32运行过程中的变量通过仪表盘或者历史数据曲线图展示出来,而且还包含了大量功能。当由于本刚刚开始学习,且网上关于STM32CubeMonitor的使用教程较少,且大部分都是抄的,所以现在出一系列关于STM32CubeMonitor的实用教程。原创 2020-06-25 17:31:57 · 4154 阅读 · 7 评论 -
STM32CubeMX的Flash读写问题
最近在搞一个项目,其中一个功能是要求将数据保存在STM32的片上Flash,并能够在程序运行时将Flash内的数据读取出来放入RAM中的对应位置,便于设备其他功能对这些不可失数据进行读取、使用。自己瞎搞Flash地址,导致自己搬石头砸自己的脚,还多次进HardFault_Handle,别问为什么,问就是访问量非法地址。原创 2020-06-18 21:18:30 · 4051 阅读 · 0 评论 -
STM32CubeMX在FreeRTOS下使用串口进行数据收发(不定长度)
STM32在使用操作系统时频繁进出临界区会导致操作系统状态混乱从而造成不知道会发生什么的后果,写程序是不喜欢这些东西的。所以通过定时器、串口中断为操作系统开发串口功能,以免在使用操作系统时对使用AT指令的串口外设造成影响!原创 2020-05-19 00:33:55 · 17637 阅读 · 33 评论 -
关于Modbus数据16进制转10进制问题
modbus接收到的数据转10进制原创 2020-05-09 12:53:44 · 11580 阅读 · 14 评论 -
STM32cubeMX将STM32F767+LAN8720+LwIP+FreeRTOS的以太网实现
通过STM32cubeMX将STM32F767+LAN8720+LwIP+FreeRTOS的以太网实现本文使用了正点原子的阿波罗开发板,接下来我将粗略的对STM32F767通过STM32cubeMX进行以太网协议配置。具体步骤1.首先使能ETH,模式选择RMII;2.使能LWIP和FREERTOS;因为阿波罗的开发板PHY芯片的ETH_DXT1和ETH_DXT0用的是PG13,PG...原创 2018-11-30 13:00:25 · 11170 阅读 · 33 评论 -
基于STM32CubeMX移植freeModbusRTU(从站)
困惑了将近一年多的ModbusRTU在我昨天穷极无聊给自己定目标的情况下搞出来了,以前移植不出来主要原因就是基本功不扎实,没有进一步理解串口和定时器配置的原理,一通操作,移植完之后就Timeout,接下来就分享一下我是怎么从0开始移植这个协议的。项目已上传码云,文章底部有链接!原创 2020-04-16 11:47:18 · 12498 阅读 · 79 评论 -
STM32Cube的PWM控制算法篇(一)数字锁相环初步设计Digital phase locked loop
**数字锁相环**Digital phase locked loop数字锁相环是一个通过PID算法使PWM调频改变相位,以达到与目标模型同频同相或同频稳定相位差的目的,在实际应用中较为常见,其中包括齿轮对接、远距离水下超长波低频通信等正弦波函数为毛子要讲正弦波呢?正弦波是一个贼有用的东西,不管是信号通信、电机驱动基本都是正弦波,要了解正弦波就要了解正弦波基本函数结构(放心,中小学知识,...原创 2019-11-05 17:08:48 · 9487 阅读 · 4 评论 -
基于STM32Cube的ModbusRTU编写[保持寄存器读写]
之前我移植了freemodbus的modbusTCP协议,感觉很好用,最近需要写一个基于STM32的modbusRTU就让我比较僵硬,本人至今没有搞懂freemodbus中modbusRTU的串口和定时器是怎么配合的,而且发现很多是要求使用的是RS232或者RS485接口,本人的目的是直接通过电脑串口完成,所以就自己写了一个Modbus的处理协议。关键:只用了一个串口就搞定!!!原创 2019-10-16 16:10:02 · 7443 阅读 · 12 评论 -
基于STM32CUBE的LWIP+FREERTOS+Socket构成的TCP服务器
通过STM32Cube生成的LWIP+FREERTOS+socket构成地TCP服务器,实现通过TCP协议控制两个LED等亮灭的工作。原创 2019-05-07 16:01:46 · 7771 阅读 · 12 评论 -
STM32Cube的PWM控制应用篇(一)用一个定时器改变另一个定时器下的三个PWM波占空比
STM32Cube的PWM控制基础篇(一)一路PWM设置STM32Cube的PWM控制基础篇(二)多路占空比不同的PWMSTM32Cube的PWM控制基础篇(三)定时器的PWM设置详解今天来点干货!!以下说明要建立在以上基础篇知识已经搞清楚的情况下来操作!!!!!通过之前的学习,我们可以基本上操作我们需要的PWM波形,今天就在这个基础上做一些衍生,个人见解,不喜一定要在评论区喷我。今日...原创 2019-06-25 11:44:59 · 3882 阅读 · 2 评论 -
STM32Cube的PWM控制基础篇(一)一路PWM设置
一、什么是PWMPWM是脉冲宽度调制,PWM我个人理解为一个方波信号,其参数有两个(1)占空比:脉冲的有效电平占整个周期的百分比。(2)频率:整个PWM波的频率,1/一个脉冲周期由上可知,一个PWM波形我们可以通过调整其频率和占空比来达到我们需要的波形或是等效电压。(3.3V的电压如果PWM调制的等效电压为3.3占空比【60%占空比电压等效为3.3V60%=1.98V】)二、PWM的时钟...原创 2019-06-22 22:12:19 · 19494 阅读 · 9 评论 -
STM32Cube的PWM控制应用篇(二)用两个个定时器生成三个相位差120度的等效正弦波
STM32Cube的PWM控制应用篇(二)用两个个定时器生成三个相位差120度的等效正弦波三个正弦波相位一个相差120°,三个PWM波形为500Hz,但是我们需要实现的等效正弦波为50Hz,所以可以确定为10个PWM周期为一个正弦波周期,所以我们改变占空比的频率也为50Hz,每次升高36°,10次为一个正弦波周期。原创 2019-07-01 22:55:05 · 7064 阅读 · 0 评论 -
STM32Cube的PWM控制基础篇(二)多路占空比不同的PWM
上次做了一个通道输出的PWM波,由于有时候我们需要输出多个PWM波形,但是只有少量可用定时器的情况下我们需要使用一个定时器提供多个PWM波,本次实验目的就是生成三个频率都为500Hz,占空比为60%、70%、80%的PWM波。原创 2019-06-23 20:30:42 · 6552 阅读 · 0 评论 -
STM32Cube的PWM控制基础篇(三)定时器的PWM设置详解
STM32Cube的PWM控制基础篇(一)一路PWM设置STM32Cube的PWM控制基础篇(二)多路占空比不同的PWM今天是挤牙膏的第三天,感觉如果每天都放很多干货的话可能会拖更,想我这么诚实的博主现在已经很少了,嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿!今天就来讨论一下之前在设置定时器里的PWM选项的具体内容一、内容讲解打开之前建立的项目,到配置界面点击TIM1,进入如下界面...原创 2019-06-24 12:26:22 · 21423 阅读 · 14 评论 -
基于STM32F767通过STM32CubeMX实现ModbusTCP从站(后续)
基于STM32F767通过STM32CubeMX实现ModbusTCP读多为寄存器操作(后续)由于上篇着重介绍了实现功能的代码,以至于我没有和大家讲清楚FreeModbus应该怎么移植,在此先抱歉浪费大家时间了。接下来我要开始实操怎么成功移植Freemodbus在STM32上(以下方法可以满足所有STM32设备)实验准备:去FreeModbus官网下载Modbus的源码包,链接直接放上:Fr...原创 2019-07-29 21:33:12 · 4408 阅读 · 23 评论 -
基于STM32F767通过STM32CubeMX实现ModbusTCP
基于STM32F767通过STM32CubeMX实现ModbusTCP读多为寄存器操作一、实验准备(1)stm32f767开发板,下载安装STM32CubeMX;(2)实现LWIP的引入,具体参考STM32cubeMX将STM32F767+LAN8720+LwIP+FreeRTOS的以太网实现确保可以PING通;(3)下载ModbusTCP包,附上楼主现有包链接:https://pan.b...原创 2019-04-07 19:44:13 · 6563 阅读 · 23 评论 -
STM32Cube的串口设置(一)即学即用
一、什么是串口串行通信接口,用来收发东西的,作为一种有线通行手段,了解到这里就行了!二、操作步骤要求:通过串口向PC发送一段字符1、根据自己的stm32的芯片型号来选择,我这里是STM32F767IGTx2、选好芯片之后照旧设置RCC为外部时钟3、使能串口1(usart1),如图:模式设为异步(Asynchronous)其他默认。4、看原理图,找到串口对应引脚,如图:我这里...原创 2019-08-27 14:04:33 · 2739 阅读 · 2 评论 -
STM32Cube的串口设置(二)一个串口接收另一个串口发送
【适合情景为一个串口设备波特率为38400,但是接收模块仅支持115200波特率】原创 2019-08-29 10:09:28 · 9835 阅读 · 18 评论 -
STM32Cube的串口实战(一)GPS+BD模块
串口系列STM32Cube的串口设置(一)即学即用STM32Cube的串口设置(二)一个串口接收另一个串口发送通过串口设置之前的部分大家应该基本会使用多个串口配合了,今天就来找个东西练练手,第一个拿GPS+BD开刀(用的是ATK_S1216F8_BD模块,STM32F767的芯片)。实验目的【将串口3连接的GPS+BD模块发送的信号转送到串口1通过USB打印出来,搜集其中相关信息获取需要...原创 2019-09-01 14:49:25 · 7136 阅读 · 26 评论 -
STM32Cube的FATFS+SD卡
最近两天由于之前研究的GPS+BD定位信息不只需要获取信息并显示,还需要对当时的信息进行存储,比如说我们在一个地方进行测量,测量人员记录了测量数值和位置,但是不免会出现错误,当然GPS出现错误也有可能,所以我们需要把每次测试的信息和位置同时记录一份,以便工作结束后数据比对校正。我的处理方式就是使用SD卡和FATFS搞定原创 2019-09-04 14:35:29 · 5629 阅读 · 10 评论 -
通过4g访问STM32的TCP服务器并控制两个LED的亮和灭
STEP1:TCP服务器的建立标准的简易TCP服务器模型包括:服务器的初始化;服务器对客户端连接的接受部分;服务器的回复部分;平台:STM32F767开发板需要工具: 花生壳电脑客户端手机端的TCP(我用的是Iphone的“网络”可以在Apple Store找到)接下来是我服务器的代码tcp_server.h这段代码的目的就是生成一个TCP服务器后可以通过客户端连接并给服务器发...原创 2019-04-15 15:50:02 · 2604 阅读 · 11 评论