STM32cubemx
sea1216
仅仅是个兴趣爱好,和玩游戏一样
展开
-
STM32通过STM32cueMX生成FreeRTOS操作队列消息
一、目的 掌握基础的消息队列操作。 先定义一个队列,两个任务,一个任务根据GPIO值向消息队列发数据,另一个任务一直等待消息队列里的数据,有数据了就输出,没有则一直等待。二、配置 在STM32cueMX中的FreeRTOS界面tasks and queues中,添加两个任务,一个用于检测按键是否按下,并消息入队,一个用于接收队列消息并输出信息,另外添加一个queue,设置为数量为1,数据大小为uint8_t。三、主要程序 注意:在STM32cueMX生成的FreeRT...原创 2021-03-12 11:06:46 · 3746 阅读 · 0 评论 -
STM32(hal库)通过MQTT协议连接onenet
在中国移动物联网平台onenet,选择用多协议的mqtt旧版协议新建产品和设备。然后根据自己的情况更改程序中的参数。数据流上传时要根据自己的数据将程序中固定的更改为动态赋值就好了。本程序参考超级大洋葱806的STM32CubeMX ESP8266 AT指令实现MQTT协议并接入阿里云IOT平台源码解析【附Github源码地址】一、esp8266驱动我将esp8266设置为station透传模式#include "esp8266_at.h"//usart1发送和接收数组uint8_t usart1原创 2021-01-14 14:13:36 · 4104 阅读 · 8 评论 -
STM32基于hal库RTC闹钟及注意(cubemx)
注意:1.设置时间时要用RTC_FORMAT_BIN格式,此时可以直接用十进制2.用cubemx生成的代码中要在初始化函数中加入判断是不是第一次初始化判断语句,不然每次重启都会重新设置时间3.闹钟中断的优先级要高于RTC全局中断的优先级,因为每次的闹钟中断都会同时触发RTC全局中断,全局中断内会清除所有中断标志导致无法响应闹钟中断函数//main.c//main() RTC_Dat...原创 2020-04-23 12:58:38 · 6781 阅读 · 3 评论 -
STM32基于hal库定时器红外遥控器
参考正点原子的程序。NEC协议特征--------------------------main.c-------------------//遥控器识别码为0#define REMOTE_ID 0 //遥控器接收状态//[7]:收到了引导码标志//[6]:得到了一个按键的所有信息//[5]:保留 //[4]:标记上升沿是否已经被捕获 //[3:0]:溢出计时...原创 2020-04-02 18:55:00 · 4278 阅读 · 1 评论 -
STM32基于hal库的智能小车(2)红外循迹
4路循迹如下图:按着它的说明接线就好了,并选定好单片机引脚。我用STM32CUBEMX接着上一篇文章添加4个引脚,最后生成的程序如下(main.h):#define BZ1_Pin GPIO_PIN_4#define BZ1_GPIO_Port GPIOA#define BZ2_Pin GPIO_PIN_5#define BZ2_GPIO_Port GPIOA#define BZ3_...原创 2020-03-18 12:43:32 · 5365 阅读 · 2 评论 -
STM32基于hal库的智能小车(1)
以前做了一个红外遥控、避障和寻线的小车,用的是固件库,现在流行hal库,于是在这新冠也不能出门之际,重新用hal库做一个,并准备用上PWM来调节速度,并用wifi遥控,本人新手,有好的方法和错误的望指点!谢谢!**材料:**小车自己安装,STM32核心板,两个l298n电机驱动模块(“5v输出可不接”我将它用来给单片机供电,通道使能后期用PWM控制来调节速度,暂时直接使能就好),其他需要用的后期...原创 2020-03-16 20:04:14 · 4820 阅读 · 11 评论 -
STM32 HAL库PWM输出
STM32CUBEMX配置如下:(71+1)*(999+1)/72M=1ms占空比为:pluse/(999+1)注意下图每个通道的pulse都不一样,它的值决定了占空比,因而最后输出的波形占空比不一样//main.c中添加 //开启定时器 HAL_TIM_Base_Start_IT(&htim2); //开启PWM输出 HAL_TIM_PWM_Start(&...原创 2020-03-15 21:26:08 · 2554 阅读 · 0 评论 -
STM32 HAL库定时器TIM基础
STM32CUBEMX配置如下:(71+1)*(1999+1)/72M=2ms//main.c//开启定时器中断HAL_TIM_Base_Start_IT(&htim2);//更新中断回调函数void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ if (htim->Instance == TI...原创 2020-03-15 17:41:00 · 3555 阅读 · 0 评论 -
STM32操作ESP8266(透传)
STM32操作ESP8266,自己可以根据AT执行,相应设置其他状态 //测试 while(!ESP8266_AT_Test()){ printf2("test error\r\n"); } printf2("test OK\r\n"); HAL_Delay(1000); //...原创 2020-03-13 20:38:31 · 4751 阅读 · 3 评论 -
STM32 hal库DMA中断实验
//DMA内存传输到串口完成中断实验,自己编写回调函数并注册到dma句柄即可usart.h--------extern DMA_HandleTypeDef hdma_usart1_tx;main.c----------int i=0;void USART1_DMA_TX_CpltCallback( struct __DMA_HandleTypeDef * hdma);int main(v...原创 2020-02-17 22:24:46 · 8422 阅读 · 5 评论 -
第一次使用STM32cubemx后No target conncted问题
本人用的是ST_Link下载器下载程序,在第一次使用STM32cubemx后仅仅只能下载一次程序原因可能是因为STM32CubeMX生成的代码会把调试端口关闭STM32cubemx软件里“SYS”选择“Trace Asynchronous Sw”调试器,(“SYS”还有其他几个选项不知道啥意思,望高手解答,谢了)需要把调试器选进来。如果关闭了调试端口的功能,下次烧录程序时就需要“按住复位键进入...原创 2018-10-14 11:49:03 · 1674 阅读 · 0 评论