
FreeRTOS
纵向深耕
这个作者很懒,什么都没留下…
展开
-
ESP32开发日志记录
ESP32开发日志原创 2023-10-27 14:58:03 · 842 阅读 · 0 评论 -
分布式系统下,主控向分控通过485或lora下发升级固件,支持断点续传
分布式系统主控向分控下发固件原创 2022-10-31 23:58:42 · 261 阅读 · 0 评论 -
stm32F4 AES256加解密
stm32F4 AES加解密的使用原创 2022-10-31 23:41:02 · 1272 阅读 · 0 评论 -
STM32F4读写AT88SC0104加密存储芯片驱动库
AT88SC存储加密芯片读写驱动原创 2022-10-31 23:23:19 · 910 阅读 · 0 评论 -
结构体变量外部调用另一种方法
typedef struct _sys_info{ uint32_t dev_sn; //设备序列号 char dev_str[9]; //设备序列号字符串 net_connect_t net_connect; //0连接断开,1连接到wifi,2连接到服务器 uint32_t hw_ver;原创 2022-03-10 15:51:31 · 1496 阅读 · 0 评论 -
移动M5311 NB IOT 模块OPENCPU编译环境搭建
1、GNU Tools ARM Embedded.rar 解压到一个目录2、将GNU Tools ARM Embedded\4.9 2015q3\bin添加到系统环境变量3、使用系统的命令行工具,跳转到M5311_OpenCPU_4.1.0.2101281155_release\SDK目录4、build LV|CM|CL|GB|DB 分别对应不同硬件版本5、不同硬件版本区别6、模块引脚图...原创 2022-01-12 08:48:42 · 1096 阅读 · 0 评论 -
LCD1602多级菜单实现
键盘线程扫描按键,键值入队列,菜单处理线程取按键消息,支持多级子菜单,菜单上下滚动,当前菜单光标指示,进入子菜单,返回父菜单源文件/** * @file display.c * @brief 显示处理函数. * @details 菜单处理,显示信息处理,菜单回调函数处理. * @author ken deng* @date 2019-08-16* @version A001 * @par Copyright (c): *原创 2022-01-10 11:08:56 · 2227 阅读 · 0 评论 -
NRF24L01 大数据分包组包传输
NRF24L01一个数据包最大32字节,对于视频音频不适用,定义一个应用层协议对传输数据进行分包组包,应用层数据收发队列存储,向对方发送数据进行拆包,每发一包应答确认超时重发,接收完整大数据包向应用层提交协议typedef union _SEG_STA{ uint8_t byte; struct{ uint8_t data_len:5; uint8_t reserve:3; }transmit; struct{ uint8_t reserve:6; uint8_t st原创 2022-01-05 09:17:10 · 4192 阅读 · 0 评论 -
利用结构体定义数据存储结构并读写
很多时候读I2C存储芯片,需要定义一堆的地址,读写长度,如果后期在中间插入一个存储,维护的成本就会很高,调试修改都很困难,介绍一种利用结构体定义存储结构的方法,需要用到以下两个宏定义计算结构成员在结构体内的偏移地址,用在I2C的存储结构中很方便知道每个变量的存储地址,修改存储结构也不会影响到程序的修改#define offsetof(TYPE, MEMBER) ((int)(&((TYPE *)0)->MEMBER))计算结构成员的占用的空间sizeof(((CANDIDATE_T*原创 2021-08-28 18:39:39 · 410 阅读 · 0 评论 -
littlefs与sfud串行flash通用驱动建立FreeRTOS文件系统
littlefs文件系统体积很小,很适合经常断电重启的嵌入式场合,使用过程没发现过文件损坏或数据丢失的问题。主要由fs_spi.c文件与mid_fs.c文件连接两部分的代码,fs_spi.c初始化SPI Flash文件的硬件接口,按需要修改就行/** * @file midfs.c * @brief provide file operations API fo...原创 2019-02-13 22:59:32 · 4906 阅读 · 3 评论 -
lora 与 485 双线备份式通讯
无线有有无线的便利快捷,有线有有线的可靠,两种方式同时使用或只使用其中一种,都很大便利的系统的施工在FreeRTOS中建立消息队列,通过在内存池申请内存存放发送消息typedef struct{ void *data; ///<发送数据地址 uint8_t len; ///<发送数据长度 uint16_t seq; ///<当前发送帧的序号,...原创 2019-01-15 09:05:01 · 2062 阅读 · 1 评论 -
输入输出的可靠处理
嵌入式运行环境多大是工业应用,输入信号的可靠采集就变得很重要了,一个外部信号的采集错误将会导致程序的的执行错误,及逻辑判断错误。此方法是在信号电平的反转检测都要经过10次的信号采集确认,每次10ms,总检测时间是100ms,中途有一个异样的采集都会将此次采样中断,并从重新开始,采集时间较长,适合信号变化不太快的外部信号触发使用,当然也可以修改次数及采样间隔时间。另外处理LED输出信号,可配置闪烁的...原创 2019-01-23 22:43:51 · 213 阅读 · 0 评论 -
基于jlink-v8的一些调试打印技巧
通常调试代码通过jlink在线调试是比较好的方法,只在程序开发的初级阶段能有比较高的调试效率,可以随时观察到程序的运行状况及查看相应的变量,但如果在程序的整体调试及后面的现场调试就不那么好用了。介绍2个我平时使用2个比较好的调试方案,打印调试及命令行调试。打印调试就是通过将程序的运行状态以字符形式打印到串口终端上,但今天通过jlink 的 RTT功能并不需要占用串口资源,只需占用1K多点的内存空...原创 2019-01-13 17:35:15 · 920 阅读 · 1 评论 -
FreeRTOS移植Xmodem通过命令行上传下载文件
Xmodem协议可以很方便通过串口与PC串口终端进行数据交换,主要修改_outbyte与_inbyte两个函数static void _outbyte(int c){ uart_console_send((uint8_t*)&c,1);}static int _inbyte(unsigned short timeout) // msec timeout{ ...原创 2019-01-13 17:10:16 · 1607 阅读 · 1 评论 -
FreeRTOS命令行接口CLI移植
主要包含4个源文件,FreeRTOS_CLK.c、Sample-CLI-command.c、uart_console.c、console_user.c,FreeRTOS_CLK.c、Sample-CLI-command.c不用修改修改直接包含进工程,Sample-CLI-command.c为使用命令行的打印任务状态及向命令操作传感2个或3个参数的示例。uart_console.c为命令行接口的串...原创 2019-01-06 23:10:01 · 7392 阅读 · 0 评论 -
移植FreeModbus到FreeRTOS系统上
实测连接西门子的组态屏运行正常1、串口驱动移植portserial.cBOOL xMBPortSerialInit(UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits, eMBParity eParity){ modubs_user_usart_init(); __HAL_UART_DISABLE( &amp;huart...原创 2019-01-01 22:08:41 · 7762 阅读 · 3 评论 -
FreeRTOS 线程守护看门狗
FreeRTOS线程守护主要功能,建立复位定时器,所有加入守护的线程都必需在指定时间内发送心跳信号,超过时间定时器回调函数不会调用清空看门狗的函数,由于FreeRTOS最多只能接收24个事件,所以最多也只能守护24个线程函数介绍:void daemon_refresh(void) 由加入守护线程的定期调用刷新void daemon_init(void) 守护实始化,必需在创建所有线程前调...原创 2018-12-30 12:57:47 · 4415 阅读 · 0 评论