2024年程序员学习
文章平均质量分 87
普通网友
这个作者很懒,什么都没留下…
展开
-
RT-Thread记录(七、IPC机制之邮箱、消息队列)_rtthread的消息队列应用(1)
RT-Thread 是通过控制块来管理这些IPC机制,在实际测试中,为了加深对某个对象的理解,比如这里的邮箱,可以直接打印出邮箱的参数来查看当前邮箱的状态。在我建的工程版本中,并没有发送紧急邮件函数了,这里按照工程源码来说明,就不介绍发送紧急邮件的函数了,在一般的 STM32 应用中,个人认为紧急邮件有没有都没有影响!在静态初始化邮件时候,我们需要注意我们开辟的空间大小,需要是4的倍数,我们一般都是用数组除以4直接表示邮箱的。这里要注意,还要定义一个数组,用来做邮箱的内存空间,和静态初始化线程一样。原创 2024-05-17 07:41:40 · 1046 阅读 · 0 评论 -
RT-Thread微秒延时?_rtt实现微秒延时
程序中有AT24C02的相关操作AT24C02的操作的接口是IIC接口,所以又涉及到IIC。程序用的模拟的IIC,IIC的时序挺严格的,有微秒的延时操作。由于模拟IIC程序中的延时操作用的是裸机实现滴答定时器的延时方式,所以造成程序卡死。要解决这个问题第一时间想到的是RT-Thread有没有相关的微秒级别的延时API。但是很玄学啊,之前在RT-thread的4.0.1的源码中找到了这个文件。文件里面找到的那个rt_hw_us_delay()函数是理论上可以延时2^32-1微秒(实际上好像也不能延时这么多)原创 2024-05-17 07:40:32 · 632 阅读 · 0 评论 -
RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)_rtthread stm32
在上一篇文章,我们实现了温湿度驱动移植,根据我们最初的基本设计思路,还有必须要实现的无线模块串口通讯,本文就来移植一下无线模块的串口通讯驱动。再次说明一下,本应用篇重点在于理解在 RT-Thread 上的设计思路 以及 在小内存芯片上的注意事项,所以基础的驱动代码的实现并不会详细的分析说明,但是博主在把本系列更新完以后会把最后的整个项目上传,所以实在想看驱动实现的朋友到时候也可以去下载。❤️。原创 2024-05-17 07:39:58 · 934 阅读 · 0 评论 -
MQTT 实战_paho mqtt 3c
makemqtt 的架构分为客户端和服务端,服务端的作用是broker,我在实例中使用的broker是在这个位置下载的 https://www.emqx.com/zh/downloads?安装上,直接执行就可以也可以在浏览器上面查看,监控相关信息http://127.0.0.1:18083 用户名为 admin 密码 public。原创 2024-05-17 04:03:53 · 418 阅读 · 0 评论 -
MQ-2烟雾报警器_mq2烟雾传感器浓度算法
利用这一点就可以获得这种烟雾存在的信息,烟雾的浓度越大,导电率越大,输出电阻越低,则输出的模拟信号就越大。根据MQ-2的工作原理(其电导率随着气体浓度的增大而增大,其电阻是电导率的倒数,所以其电阻是减小的,其特性相当于一个滑动变阻器)并且参考图MQ-2Datasheet的上的测试电路,在根据哥设计的实际电路如图3。工作原理:MQ-2的4脚输出随烟雾浓度变化的直流信号,被加到比较器U1A的2脚,Rp构成比较器的门槛电压。工作原理:MQ-2传感器的4脚、6脚的电压为输出信号,Rs为传感器的本体电阻。原创 2024-05-17 04:03:19 · 1032 阅读 · 0 评论 -
MQ-2烟雾报警器_mq2烟雾传感器浓度算法(1)
根据MQ-2的工作原理(其电导率随着气体浓度的增大而增大,其电阻是电导率的倒数,所以其电阻是减小的,其特性相当于一个滑动变阻器)并且参考图MQ-2Datasheet的上的测试电路,在根据哥设计的实际电路如图3。工作原理:MQ-2的4脚输出随烟雾浓度变化的直流信号,被加到比较器U1A的2脚,Rp构成比较器的门槛电压。而Rs的下降则会导致,MQ-2的4脚、6脚对地输出的电压增大。所以气体浓度增大,其输出的电压也会增大。工作原理:MQ-2传感器的4脚、6脚的电压为输出信号,Rs为传感器的本体电阻。原创 2024-05-17 04:02:45 · 2408 阅读 · 0 评论 -
MPU6050的数据获取、分析与处理_优信 mpu-6050
/上一次读数的时间。原创 2024-05-17 04:02:11 · 990 阅读 · 0 评论 -
ESP32接入百度云,在线语音识别_esp32语音上云
开发板使用的是ESP32_LyraTv4.3,入下图所示,开环境在是在Ubuntu20.04上搭建的ESP-IDF,在ESP-IDF中添加了支持语音开发的sdk,ESP-ADF。原创 2024-05-16 23:02:53 · 476 阅读 · 0 评论 -
ESP32应用指南_esp32手册
需要注意的是,IDF不需要使用git下载,直接在AiThinkerIDE_V0.5的安装目录下就有了,不过是旧的IDF v2.0,我这里是C:\AiThinkerIDE_V0.5\cygwin\home\aithinker\project\esp-idf。所以这里是把IDF v2.0拷贝出来,把example下的helloword拷贝出来,改名为app,其它的按照示例4的去做就可以了。我这里试了1152000,烧录失败,具体波特率视硬件上串口的信号质量而定,信号质量差,需要降低波特率。然后退出,保存即可。原创 2024-05-16 23:02:20 · 682 阅读 · 0 评论 -
ESP32小网关应用,嵌入式串口转以太网,支持蓝牙+wifi_wt32-eth01
WT32-ETH01拥有WIFI\蓝牙\网口,启明云端提供有线模块AT指令集及例程,同时你可以参考ESP32-IDF(SDK)进行二次开发。模块支持用户自己写程序,烧写。,注意这里的有线,是嵌入式串口转以太网。原创 2024-05-16 23:01:46 · 440 阅读 · 1 评论 -
ESP32小网关应用,嵌入式串口转以太网,支持蓝牙+wifi_wt32-eth01(1)
提示:ESP32系列IC是集成了2.4GHz Wi-Fi和蓝牙双模的SOC,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗。WT32-ETH01小网关,基于ESP32芯片,模块兼容半焊盘和连接器通孔设计,板宽是通用宽度,可以直接把模块焊接在板卡上,也可焊接连接器,也可用于面包板上,方便用户使用于不同的场景。WT32-ETH01拥有WIFI\蓝牙\网口,启明云端提供有线模块AT指令集及例程,同时你可以参考ESP32-IDF(SDK)进行二次开发。,注意这里的有线,是嵌入式串口转以太网。原创 2024-05-16 23:01:12 · 496 阅读 · 0 评论 -
单片机资源汇整_单片机opus
网嵌入式知识点,真正体系化!原创 2024-05-16 03:30:35 · 719 阅读 · 0 评论 -
单片机的内存分配(变量的存储位置)详解
常量字符串就是放在这里的。这些数据是只读的,分配在RO-data(只读数据存储区),则被包含在flash中,程序结束后由系统自动释放。:初始化的全局变量和静态变量放在一块区域,未初始化的全局变量和和未初始化的静态变量在相邻的的另一块区域。,flash里面的数据掉电可保存,sram中的数据掉电就丢失,sram的执行速度要快于flash,flash容量大于sram。我们正常下载程序都是下载存储进flash里面,这也是为什么断电可保存的原因。:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS释放。原创 2024-05-16 03:30:01 · 721 阅读 · 0 评论 -
单片机怎么用回调函数在不同文件之间传递数据_单片机回调函数
因为这个我需要一直在while循环里判断Key的值,然后根据Key的值来判断有没有按键按下,在一定程度上,造成了cpu资源的浪费。前面我说每个人写回调函数的风格可能都不一样,STM32固件库的那些中断处理函数基本都是回调函数,但是跟我的编写风格还是有些差异。一般这个形参keys就是我们最终要通过回调函数传递到别的.c文件的信号/数据,如果是按键检测的话也就是按键值,是哪个按键按下的。简单来说,就是我们知道什么时候该去调用这些函数,比如说满足某些条件的时候,我们就会主动去调用这些函数。原创 2024-05-16 03:29:27 · 631 阅读 · 0 评论 -
单片机开发项目全局变量太多怎么管理?_如何避免全局变量过多混乱
这样就明确告诉编译器,我这些数组的作用域仅限于该.c文件,变量也是一样的道理,这样修饰以后你在别的.c文件也可以定义名字一样的变量,两个是相互独立的。这样定义以后,只要你不搞extern声明,别的.c文件基本是访问不了你这些变量或数组的,一定程度上起到保护的作用。我认为是一种成熟的编程思维,是经验的总结,比如RTOS就是属于一种程序架构,STM32固件库也是一种程序架构。比如说,变量多了,函数多了,程序总是乱糟糟的,一整合起来一堆BUG。哪怕你数学很差,都没关系,你找个数学厉害的人,告诉他你要算什么。原创 2024-05-16 03:28:51 · 924 阅读 · 0 评论