STM32F407
文章平均质量分 71
STM32F407
ba_wang_mao
目标:(1)、熟练使用FreeRTOS嵌入式操作系统编写单片机程序。(2)、初步熟悉C#和MySQL编写比较简单可靠的C/S架构的TCP通信程序及B/S架构的WEB SERVER程序。(3)、简单熟悉阿里云物联网开发技术(单片机端SDK开发和上位机端SDK开发)。
展开
-
STM32F407 USART6串口使用DMA接收不定长数据和DMA中断发送
STM32F407 USART6串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 14:08:00 · 3452 阅读 · 4 评论 -
STM32F407 UART5串口使用DMA接收不定长数据和DMA中断发送
STM32F407 UART5串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 14:00:41 · 1574 阅读 · 0 评论 -
STM32F407 UART4串口使用DMA接收不定长数据和DMA中断发送
STM32F407 UART4串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 13:55:00 · 3498 阅读 · 5 评论 -
STM32F407 USART3串口使用DMA接收不定长数据和DMA中断发送
STM32F407 USART3串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 13:46:29 · 1699 阅读 · 0 评论 -
STM32F407 USART2串口使用DMA接收不定长数据和DMA中断发送
STM32F407 USART2串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 13:40:24 · 1600 阅读 · 0 评论 -
STM32F407 USART1串口使用DMA接收不定长数据和DMA中断发送
STM32F407 USART1串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 11:56:28 · 1643 阅读 · 0 评论 -
STM32F103 UART4串口使用DMA接收不定长数据和DMA中断发送
STM32F103 UART4串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 11:40:13 · 4782 阅读 · 5 评论 -
STM32F103 USART3串口使用DMA接收不定长数据和DMA中断发送
STM32F103 USART3串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 11:27:18 · 4021 阅读 · 1 评论 -
STM32F103 USART2串口使用DMA接收不定长数据和DMA中断发送
STM32F103 USART2串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 11:16:38 · 3246 阅读 · 3 评论 -
STM32F103 USART1串口使用DMA接收不定长数据和DMA中断发送
STM32F103 USART1串口使用DMA接收不定长数据和DMA中断发送原创 2022-11-09 11:06:04 · 5234 阅读 · 4 评论 -
STM32F103系列 TIM1~TIM8库函数初始化代码
(1条消息) STM32F103系列 TIM1~TIM8库函数初始化代码批量发布干货_du98看灯夜的博客-CSDN博客_stm32f1 tim1初始化转载 2022-02-17 15:14:53 · 611 阅读 · 0 评论 -
PID算法与PID自整定算法
PID算法与PID自整定算法 本文是由于研发恒温槽项目故需要了解PID控制算法和PID自整定算法,为方便本人日后需要故作此记录。 直接粘贴代码吧 ! 这是PID位置式控温算法/***********************************************************************///*******函数名:void Pid_positional(float speed)...转载 2021-07-15 08:36:55 · 4420 阅读 · 0 评论 -
基于C#实现的多边形冲突检测实例
前言之前在项目上碰到了一个多边形冲突检测的问题,经百度、bing、google,发现目前已有的方案,要么是场景覆盖不全,要么是通过第三方类库实现(而这些第三方类库几乎是无法逆向反编译的),而项目中禁止...前言之前在项目上碰到了一个多边形冲突检测的问题,经百度、bing、google,发现目前已有的方案,要么是场景覆盖不全,要么是通过第三方类库实现(而这些第三方类库几乎是无法逆向反编译的),而项目中禁止使用第三方类库,遂自己实现了此算法。场景是这样的,有两个多边形,多边形A和多变型B,需要判转载 2021-07-12 12:13:57 · 511 阅读 · 0 评论 -
cJSON的简单使用——STM32F407移植
cJSON的简单使用——STM32移植目录背景知识 JSON数据结构cJSON重要接口函数解析案例移植注意 事项背景知识 JSON是一种轻量级的数据交换格式,这里不做详细的分析,简单的理解为,是互联网上的一种数据打包协议,比较方便人阅读和编写,下面是阿里云物联网设备影子信息的json格式,如下所示:{ "state": { "reported": { "hz": 20, "temp_comp": -0.5 },...转载 2021-04-13 15:34:37 · 870 阅读 · 0 评论 -
cJSON移植到STM32F系列单片机
项目中用到JSON接收网络数据,具体是STM32串口接收JSON数据,提取需要的内容。本来KEIL MDK是自带JSON的,但是我不习惯使用KEIL自带的那些第三方的东西,很杂乱的感觉。cJSON的移植比较简单,一下子就可以搞定。1、下载源文件。http://sourceforge.net/projects/cjson/只需要两个文件cJSON.c,cJSON.h;下载的包里面还有一个test.c,里面是测试的例子。http://www.json.org/json-zh.html这个是J转载 2021-04-12 15:09:43 · 943 阅读 · 0 评论 -
ESP8266获取网络天气
使用ESP8266模块来获取网络数据(天气,时间等),还是挺简单的。一步一步来。1、初始化串口与相关IO使得MCU可正常使用串口的发送与接收,以及一些IO控制ESP8266的使能端与电源。2、检测模块通电后等待几秒钟,串口发送"AT\r\n",检测有回应"OK"则代表模块在线使用。3、连接路由热点发送"AT+CWJAP?\r\n"可以获取当前连接的路由,如果没有连接正确的路由,则使用"AT+CWLAP\r\n"命令获取当前路由列表。使用"AT+CWJAP=\"ssid_str转载 2021-04-12 14:52:36 · 3056 阅读 · 0 评论 -
STM32-modbus rtu 之从机程序
以前移植过freemodbus,这次是自己重新写,只实现保持寄存器的读写。一、串口这部分跟上一篇文章主机程序一样,DMA接收,直接发送。二、错误反馈/*发送 错误反馈*/void mb_sentACK( u8 cm,u8 err){ u16 temp; serialTXbuf_st.buf[0] = local_addr; serialTXbuf_st.buf[1] = cm+0x80; serialTXbuf_st.buf[2] = err;...转载 2021-04-12 13:35:29 · 1751 阅读 · 0 评论 -
STM32F103C8T6用官方bootloader实现IAP升级操作方法
在使用STM32F103C8T6单片机IAP功能时,可以自己写bootloader程序,也可以使用官方bootloader文件。下面说一下使用官方bootloader的使用方法。首先下载官方bootloader文件目前使用的是这个版本,打开文件夹,选择适合自己编译器的工程。目前使用的是keil,所以打开MDK-ARM文件夹打开IAP工程打开后根据自己的单片机型号,对工程进行简单的修改。用的是STM32F103C8T6单片机,FLASH为64K,SRAM为20K。设置转载 2021-04-09 15:08:38 · 1734 阅读 · 1 评论 -
STM32F103C8T6单片机IAP升级
关于IAP升级的方法和原理,网上已经有很多资料了,这块就不再说了,现在就将bootloader和app配置方法整理如下: APP程序就是一个简单的LED闪烁。 APP设置为从FLASH中启动:STM32F103C8T6单片机flash有64K,前20K空间留给bootloader,从20K之后开始存放APP程序。所以IROM1开始地址设置为 0x8005000,大小为20K。如果APP程序比较大的话,可以修改这个大小值。然后在程序开始位置设置重新映射复位向量表。让...转载 2021-04-09 14:58:53 · 1316 阅读 · 0 评论 -
单片机串口实现字符串命令解析---使用函数指针(类似哈希表)
通常情况下串口通信用的大多数都是用十六进制数据来传输指令,比如最常见的modbus的通信,如读保持寄存器指令:01 03 00 00 00 01 84 0A,这种十六进制的指令在这里就不讨论了。想要详细了解可以看往期的文章。串口相关文章链接如下:STM32F103单片机modbus通信示例STM32单片机串口空闲中断+DMA接收不定长数据STM32单片机串口空闲中断接收不定长数据STM8学习笔记---串口通信中如何自己定义通信协议STM8学习笔记---Modbus通信协议简单移植S.转载 2021-04-09 14:31:02 · 2764 阅读 · 0 评论 -
STM32系列单片机在进入main函数前都在干些什么?
在刚开始学习单片机的时候,一直以为程序启动后就直接进入到了main函数,但是随着学习的深入才发现,程序在进入main函数前其实还要干好多事情。现在就来分析一下,STM32系列单片机程序在进入main函数前都在干些什么?单片机上电后,程序首先跳转到地址0处,此时主堆栈指针MSP的初值也为0。然后单片机产生了复位信号,主堆栈指针加1,由于单片机内核为32位,所以地址增加一位,实际上是增加了32位,也就是增加了4个字节。此时MSP指针就指向了复位向量。而Cortex-M内核处理器的向量表可以重新定位,所以转载 2021-04-09 13:36:32 · 959 阅读 · 0 评论 -
STM32F407 单片机+DMA+环形缓冲区+GPS报文解析
一、为什么要用DMA接收GPS报文 我们知道,可以用串口接收GPS报文,但是串口有一个缺点,每接收一个字节就会触发接收中断,或者发送一个字节就会触发空中断或者完成中断,造成单片机的CPU频繁产生中断。 DMA有什么好处呢?你需要发送数据时,先把所有要发送的数据填充到发送缓冲区,然后告诉DMA,DMA就会将数据发送出去,发送完毕,触发一次中断告诉你发送完成。你需要接收数据时,DMA设备会将串行数据先存放到DMA内部缓冲区中,当接收完毕,会通知你接收完成,并通知你接收了多少...原创 2021-04-08 20:22:22 · 4598 阅读 · 2 评论 -
让STM32CubeMX带你飞,菜鸟秒变STM32高手
让STM32CubeMX带你飞,菜鸟秒变STM32高手STM32CubeMX是ST意法半导体近几年来大力推荐的STM32芯片图形化配置工具, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用。STM32CubeMX几乎覆盖了STM32 全系列芯片。本文通过28个STM32F1的实例,手把手教你如何使用STM32CubeMX配置STM32的各种外设,带你玩转STM32系列单片机,秒变STM32高手!1. STM32CubeMX系列 | 开发环境2. STM32CubeMX转载 2021-04-08 17:09:43 · 282 阅读 · 0 评论 -
STM32F407单片机上开发MODBUS RTU 多主站程序(二)
前面一篇文章介绍了MODBUS RTU 多主站程序(一),现在介绍如何编写主站轮巡和解析程序。 由于STM32系列单片机可以用DMA方式接收串口通信,因此本文的串口通信用DMA实现。 一、主站轮巡超时定时器 由于主站发送完请求报文后,需要检测从站是否在规定的时间应答。 1、如果从站应答,就清除超时定时器的计时值同时让超时定时器停止,好主站下次开始发送请求报文时,重新开启超时定时器。...原创 2021-03-08 11:26:07 · 2937 阅读 · 17 评论 -
STM32之RTC实时时钟
RTC实时时钟简介:STM32的RTC外设,实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断).但是从掉电还能继续运行来看,它是STM32中唯一一个具有这个功能功能的外设.(RTC外设的复杂之处不在于它的定时,而在于它掉电还可以继续运行的特性)所谓掉电,是指电源Vpp断开的情况下,为了RTC外设掉电可以继续运行,必须给STM32芯片通过VBAT引脚街上锂电池.当主电源VDD有效时,由VDD给RTC外设供电.当VDD掉电后,转载 2021-02-05 15:52:15 · 6428 阅读 · 2 评论 -
STM32进阶-RTC时钟应用的详细步骤
RTC时钟详细步骤 RTC概述 RTC相关库函数 RTC日历配置步骤 RTC闹钟配置步骤 RTC周期性自动唤醒配置一般步骤 一、RTC概述简介RTC (Real Time Clock):实时时钟STM32 的 RTC 外设,实质是一个掉电后还继续运行的定时器。RTC是个独立的BCD定时器/计数器。提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。 两个32位寄存器包含二进码十进制格式(.转载 2021-02-05 15:11:34 · 3462 阅读 · 0 评论 -
校招有感:计算机专业毕业生如何找工作(Java方向)
这两年毕业生的就业形势,大家都看在眼里。由于我平时本职会到校园去做校招,兼职会做培训,所以也接触到了不少计算机应届毕业生。 我看到的计算机专业毕业生,各种情况的都有。虽然其中有学校的因素,但学校的因素也不足以造成这样大的差距。所以在本文里,就将结合找到各种工作的毕业生的情况,说下计算机专业的毕业生第一如何在大三大四时准好准备,第二如何在大四时找到心仪的工作。一、哪些计算机毕业生能进大厂?或者至少能找到软件的活? 我作为大厂面试官去做校招时,能收到一大堆简历,如何挑选有面试资格...转载 2021-02-05 14:42:42 · 383 阅读 · 0 评论 -
STM32-增量式旋转编码器测量
阅读目录一、增量式旋转编码器 二、硬件设计 三、软件设计Developmentkit:MDK5.14IDE:UV4MCU:STM32F103C8T6回到顶部一、增量式旋转编码器1、简介编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。 按照读出方式编码器可以分为接触式和非接触式两种; 按照工作原理编码器可分为增量式和绝对式两类。增量式编码器..转载 2021-02-05 12:17:53 · 4610 阅读 · 0 评论 -
STM32-RTC实时时钟-毫秒计时实现
阅读目录1、RTC时钟简介 2、软硬件设计 3、时钟配置与函数编写 4、秒钟计时原理 5、毫秒计时原理 6、修改时间 OS:Windows 64Developmentkit:MDK5.14IDE:UV4MCU:STM32F103C8T6回到顶部1、RTC时钟简介 STM32的实时时钟(RTC)是一个独立的定时器,在相应软件配置下,可提供时钟日历的功能。 详细资料请参考ALIENTEK的官方文档——《STM32F1开发指南(精英版-库函数版)》,以下为博主摘录要..转载 2021-02-05 12:08:32 · 11401 阅读 · 0 评论 -
项目实战-外卖自提柜 1.项目介绍、协议制定
项目实战-外卖自提柜 1.项目介绍、协议制定项目实战-外卖自提柜 2. CubeMX + FreeRTOS入门项目实战-外卖自提柜 3. FreeRTOS主要API的应用项目实战-外卖自提柜 4. FreeRTOS 堆栈分配、调试技巧项目实战-外卖自提柜 5. ESP8266 01S配置与掉线处理项目实战-外卖自提柜 6. 硬件工作与测试(原理图、PCB绘制、测试视频)项目介绍外卖自提柜,类似蜂巢之类的快递柜。工作流程: 外卖员通过手机APP扫描柜体上面的固定二维码,在APP中输入客户的手机转载 2021-02-03 15:52:49 · 1579 阅读 · 0 评论 -
根据日期判断星期几(使用基姆拉尔森计算公式)
基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数。 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。 ...转载 2021-02-03 09:06:39 · 3082 阅读 · 0 评论 -
STM32F407单片机上开发MODBUS RTU 多主站程序(一)
我因为工程需要经常要在STM32F407上编写MODBUS RTU多主站程序。何谓多主站程序呢?即:1个工程项目的单片机系统需要编写多个MODBUS RTU主程序,例如:USART1需要编写1个MODBUS RTU主站程序,读取相关的数据;USART2需要编写1个MODBUS RTU主站程序,读取相关的数据。 按照一般的 我使用了队列+指针的方式实现MODBUS RTU多主站程序...原创 2021-01-08 17:07:41 · 4942 阅读 · 8 评论 -
STM32F103单片机读写SD2405ALPI实时时钟程序(包括:读时钟时间、写时间到时钟、时间报警中断、倒计时中断)
1、SD2405ALPI.h#ifndef SD2405ALPI_H#define SD2405ALPI_H#include "stm32f10x.h"void bsp_InitSD2405(void);void I2CStop(void);uint8_t BCDtoHEX(uint8_t BCD);uint8_t HEXtoBCD(uint8_t HEX);void SD2405_I2CWriteTime(uint8_t second , uint8_t minute , ...原创 2020-08-21 22:01:22 · 2681 阅读 · 0 评论 -
STM32F407单片机移植MS5611气压计(基于IIC)---同时解决温度低于20度时计算得到的大气压错误的问题
最近一个工程项目需要使用MS5611气压计,就花时间研究了一下,发现网上很多基于STM32F103单片机的MS5611气压计源程序,当移植到STM32F407时发现采集的大气压力和温度值不对,问题主要集中在以下几个方面: (1)、硬件复位之后,需要延时多少时间才可以读芯片的出厂校准值 (2)、出厂校准值到底是读6组参数、7组参数还是8组参数。(注:网上的程序大部分人给出的源码是读7组参数,实际上应该读8组参数) (3)、如果验证读出的出厂...原创 2020-12-15 15:42:09 · 3091 阅读 · 18 评论 -
MS5607使用中的问题,温度低于20℃,数值不对
MS5607使用中的问题,温度低于20℃马后炮:因为是网上找的代码,懒得看手册,导致后面低于20摄氏度还会有问题,只好认真的看了手册,发现我的代码是ms5611的,照着手册重新改写后就木有问题了!!!不能省的地方就别省了。公司使用MS5607设计压力传感器,在网上找了一段MS5607的代码,平时用着挺好的,可是测试拿到高低温试验箱中测试我的程序,低于20℃后,压力值直接就起飞了,几十万,哈哈哈,惊喜!下面是原来的代码:uint16_t Cal_C[7]; //用于存放PROM中的6组数据转载 2020-12-16 08:55:30 · 426 阅读 · 0 评论 -
USB 转 RS-485 / 422 接口转换器
USB 转 RS-485 / 422 接口转换器1. USB 转 RS-485 / 422 接口转换器2. 通信连接图USB <=> RS-422 切换USB <=> RS-485 切换3. 连接器和信号4. 故障与排除5. 6 位接线柱 <==> 5 位接线柱https://blog.csdn.net/chengyq116/article/details/84558439?utm_medium...转载 2020-08-25 20:44:37 · 5092 阅读 · 0 评论 -
USR-WIFI232-B2(WIFI)模块没有和服务器TCP连接成功时,单片机读取USR-WIFI232-B2(WIFI)模块的MAC地址
【您想要实现什么功能?】: 1、单片机上电后先读取WIFI模块的MAC地址2、读取完WIFI模块的MAC地址的后,WIFI模块和上位机进行TCP通信(WIFI模块作为服务器)。需要发送+++a,进入AT指令配置状态 读取MAC读取之后,发送AT+ENTM退出AT指令配置状态 再去通讯https://www.usr.cn/Down/USR-WIFI232-D2-V1.0.12.pdf第44页 进入AT指令的方式ht...原创 2020-10-19 11:35:53 · 1556 阅读 · 0 评论 -
STM32 之十三 看门狗(WDG)及低功耗下的处理
最近在做低功耗项目时,遇到了看门狗不好处理的问题。在 ST 的各系列 MCU 中,看门狗应该算是使用配置起来最简单的一个外设了。我们通常仅需要配置很少的配置项,但是,一旦要配合低功耗模式则配置就比较麻烦了。MCU 中有两只狗,一只叫 Independent watchdog (IWDG);另一只叫 System window watchdog (WWDG)。下面是这两只狗的简单介绍!IWDG IWDG 基本就等同于我们独立使用的看门狗芯片。最适合那些要求看门狗作为一个完全独立的进程在主应用程序之转载 2020-12-01 08:48:25 · 3753 阅读 · 0 评论 -
STM32 之五 Core Coupled Memory(CCM)内存
写在前面今天在搞STM32F4时,用到了一部分特殊内存——CCM。搜了搜网上没多少介绍,索性自己查手册。 某些芯片没有CCM基本架构 废话少说,先看看这块内存特殊在哪里。官方的基本架构说明如下: The main system consists of 32-bit multilayer AHB bus matrix that interconnects:Eight masters: – Cortex® -M4 with FPU core I-bus, D-bus and S-bus转载 2020-11-30 19:56:36 · 1338 阅读 · 0 评论 -
STM32 之七 备份域(备份寄存器、备份SRAM)详解及数据丢失问题处理
某些STM32芯片提供了备份SRAM,例如STM32F系列芯片有4K的备份SRAM。然而在使用过程中发现备份区域数据丢失!下面从STM32系列芯片提供的整个备份域来看看啥情况。电池备份域 首先,这部分在参考手册的电源(PWR)章节有详细的介绍。器件的工作电压 (VDD) 要求介于 1.8 V 到 3.6 V 之间。嵌入式线性调压器用于提供内部 1.2 V数字电源。当主电源 VDD 断电时,可通过 VBAT 电压为实时时钟 (RTC)、RTC备份寄存器和备份 SRAM(BKP SRAM)供电。...转载 2020-11-30 19:53:26 · 4259 阅读 · 0 评论