随笔分类 -  STM32

摘要:目录 写在前面 一般的做法(定时器单通道输入捕获) 以外部时钟的方式(高低频都适用) 测试效果 写在前面 STM32的定时器本身有输入捕获的功能。可选择双端捕获,上升沿捕获或者是下降沿捕获。对应捕获频率来说,连续捕获上升沿或下降沿的时间间隔就是其脉冲的周期. 一般的做法(定时器单通道输入捕获) 定时 阅读全文
posted @ 2023-06-06 22:31 昊月光华 阅读(630) 评论(0) 推荐(0) 编辑
摘要:目录 说在前面 Clion结合CubeMX以Makefile编译和构建STM32 新建目录和文件 串口打印问题解决,重定向fptuc失效. 说在前面 有稚晖君的一文,结果可能就让你对嵌入式开发更加易于上手。这是工具上的革新带给你的,这也是一个好的IDE带给开发人员不一样的优雅体验。 配置CLion用 阅读全文
posted @ 2023-05-20 22:55 昊月光华 阅读(125) 评论(0) 推荐(0) 编辑
摘要:背景 1:用习惯了51的位bit,像二进制信号量一样只有0和1两种状态,我认为这两种状态还是利用得最为广泛的两种状态,就比如说WIFI的连接状态 -1已经连接 -0 未连接,控制信号开关 0-关闭 1-开启。而我在LCD屏幕刷新时,需要记录变量是否改变再刷新,做判断的时间总比做刷新的时间短的多!甚至 阅读全文
posted @ 2023-03-15 17:19 昊月光华 阅读(30) 评论(0) 推荐(0) 编辑
摘要:背景 应物联网无网的环境要求,需要使用Lora模块进行组网以此传输数据,本来用了正点原子的Lora模块,以正点的强大资料支持,我本应该非常熟悉这些组网操作了,但硬件调试实在是让我差不多很苦恼,一方面需要不断的去排查接线问题,一方面又要去关注软件代码是否已经发送了数据。 原因:因为用此lora模块发送 阅读全文
posted @ 2023-03-09 19:00 昊月光华 阅读(150) 评论(0) 推荐(0) 编辑
摘要:硬件学习路线 写在前面 通过加入实验室,组队打比赛是最好的学习的方式。 C语言: 首先学会C语言,在硬件里,不会涉及到太过于复杂的算法,它更关注于底层。掌握常用的数据结构如顺序表,链表,栈。重点掌握指针和结构体的工作过程。 推荐课程: C语言(118小时课程) c语言编程 C语言入门 c语言(C语言 阅读全文
posted @ 2022-12-07 15:51 昊月光华 阅读(28) 评论(0) 推荐(0) 编辑
摘要:目录 认识 常见的中断应用场景 进入与退出临界区(开中断与关中断) Free RTOS的systick中断 和 PendSV中断。 Cortex-M3/4的工作模式以及双堆栈指针MSP和PSP(CPU与OS的相辅相成与互相成就) 为什么要引入这两种工作状态? 为什么区分出MSP与PSP? 认识 Fr 阅读全文
posted @ 2022-11-17 11:03 昊月光华 阅读(39) 评论(0) 推荐(0) 编辑
摘要:概述 关于在CUBEMX上的配置 介绍 软件定时器基于硬件定时器实现。 软件定时器允许设置一段时间,当设置的时间到达之后就执行指定的功能函数,被定时器 调用的这个功能函数叫做定时器的回调函数。回调函数的两次执行间隔叫做定时器的定时周期, 简而言之,软件定时器的定时周期到了以后就会执行回调函数。 Fr 阅读全文
posted @ 2022-11-16 20:39 昊月光华 阅读(55) 评论(0) 推荐(0) 编辑
摘要:关于cubeMX配置及事件集概述 用cubemx使用事件集时只有使用了cmisis v2 才能使用事件集这个数据结构。 创建一个事件集的高8位不用,低24位用做标记(事件位)。每一个位可相当于裸机开发时的flag,同时,每一位都可以当做二值信号量使用。不同的是,事件集可以判断每一个事件(每一位)的与 阅读全文
posted @ 2022-11-15 19:46 昊月光华 阅读(64) 评论(0) 推荐(0) 编辑
摘要:目录 CUBEMX上的配置以及使用 信号量 互斥量 CUBEMX上的配置以及使用 信号量与互斥量都是从队列中衍生出来的,他们是一种特殊的队列。不同的地方在于:他们不含有队列的数据部分,只有队列结构体。 定义属性(这里只有一个名字)和创建 信号量 信号量又分二值信号量和计数信号量,本质上都是是资源可用 阅读全文
posted @ 2022-11-15 17:29 昊月光华 阅读(95) 评论(0) 推荐(0) 编辑
摘要:目录 在CubeMX上的配置(简洁一览) 队列 写队列 (写到队列尾部) 读队列 在CubeMX上的配置(简洁一览) CMSIS_V1与CMSIS_V2两个API接口,除了前者无法用到事件集,其余都一样。 队列 存储构成: 队列结构体+数据部分 其数据部分紧跟队列的结构体。 队列的结构体定义 typ 阅读全文
posted @ 2022-11-14 19:18 昊月光华 阅读(76) 评论(0) 推荐(0) 编辑
摘要:目录 任务调度 任务的三种状态 在抢占式的FREE RT OS中,调度器如何选择它需要执行的任务? 什么时候会产生任务的调度? 什么时候高优先级的任务进行抢占? 不抢占,不礼让的Free RT OS会发生什么? xTaskIncreamentTick(void) tick中断的回调函数。 常用的在硬 阅读全文
posted @ 2022-11-13 13:38 昊月光华 阅读(32) 评论(0) 推荐(0) 编辑
摘要:任务创建 目前free rt os与cube mx 结合地非常好,让开发都变得简单起来,就是因为它实在是太优雅了(总而言之就是太懂程序员了),让不少开发者STM32开发都离不开CUBE MX的自动配置。 创建任务有两种方式,与RT-Thread一样,动态创建和静态创建两种,它们的区别在于每个任务(线 阅读全文
posted @ 2022-11-13 12:35 昊月光华 阅读(48) 评论(0) 推荐(0) 编辑
摘要:目录 写在前面 认识宏 # 和 ## #的学习 ##的学习 实战 写在前面 最近依然在嵌入式遨游,以及加深对free rt os 源码以及内核的理解。以及为了解决学习工作中分布式设备的命名问题。于是就想到了 #和##这两个宏。 认识宏 # 和 ## 既然都是宏,则它们在编译的第一个阶段也就是预编译阶 阅读全文
posted @ 2022-11-11 10:26 昊月光华 阅读(11) 评论(0) 推荐(0) 编辑
摘要:目录 两种时基 定时器重写ms和us级函数 Systick重写us ms级延时函数 两种时基 在STM32的裸机开发中,没有操作系统这个概念,特别是在用CUBEMX配置生成项目时,默认都是选择了systick做为hal的时基。而当用了FREE RT OS时则强行绑定了systick做为其任务调度的时 阅读全文
posted @ 2022-10-30 18:21 昊月光华 阅读(75) 评论(0) 推荐(0) 编辑
摘要:目录 发布格式 原因及其解决方法 发布格式 AT+MQTTPUB=,<“topic”>,<“data”>,0,0 当需要发布对应主题的json数据包时 错误格式 AT+MQTTPUB=0,"device/date","{"msg1": 22,"msg2": 56,"msg3": 94,"time": 阅读全文
posted @ 2022-10-30 17:46 昊月光华 阅读(218) 评论(0) 推荐(0) 编辑
摘要:目录 写在前面 正文 总结 写在前面 在使用cubeMX开发stm32,会经常用到定时器,并通过定时器产生中断计数来定期地执行某些任务。在配置时会遇到auto-reload preload 。这让熟悉51开发时解触到的定时器产生中断后自动重装载计数值让其产生下一次中断名字有点相似但实际并不是一回事。 阅读全文
posted @ 2022-10-28 12:53 昊月光华 阅读(560) 评论(0) 推荐(0) 编辑
摘要:目录 写在前面 三种方案(利用ESP32连接EMQX下的MQTT) 步骤 ESP32烧录固件并AT指令进行测试。 下载固件 烧录工具下载 烧录固件(选择ESP32) 关于AT 指令与MQTT服务器断开后自动重连MQTT服务器 关于AT指令设置上电自动连接WIFI 关于AT指令设置断开后自动重新连接W 阅读全文
posted @ 2022-10-18 15:57 昊月光华 阅读(406) 评论(0) 推荐(0) 编辑
摘要:目录 写在前面 本次记录 事件集 邮箱 接受邮件 发送邮件 邮件案例代码 小结 写在前面 本次写线程间的通信,熟悉与stm32裸机开发时,经常有很多问题,比如:在多个外设的使用同一的PIN引脚时怎么避免冲突?突然来一个事件能否及时得到处理?一系列事件发生需要有一定逻辑条件,如严格的先后顺序,几个事件 阅读全文
posted @ 2022-10-16 13:51 昊月光华 阅读(29) 评论(0) 推荐(0) 编辑
摘要:前提 首先得新建一份RT_Thread 的工程,偌大且互相嵌套的文件结构让我第想起第一次用cubeMX配置32 。。。 开始 既然是看main,哪直接从main看起。 通过打开main的调用层次结构得出main的调用顺序是 entry() -> rtthread_startup() -> rt_ap 阅读全文
posted @ 2022-10-15 11:41 昊月光华 阅读(96) 评论(0) 推荐(0) 编辑
摘要:目录 问题描述 实时获取时间戳断电跨日期时间戳同步 问题描述 今需要把STM32所采集的数据带日期的形式发送到后端服务器上进行处理,由于STM32F103本身是自带有实时时钟的。该RTC(实时时钟)是一个不断递增的计数器,断电后由纽扣电池继续供电计数。奈何它没有万年历的功能,再加上用CUBEMX生成 阅读全文
posted @ 2022-10-08 22:34 昊月光华 阅读(355) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示