- 博客(28)
- 资源 (15)
- 收藏
- 关注
原创 BAT32G137国产项目通用第十一节:FreeRTOS 内存管理
xReturn = xTaskCreate((TaskFunction_t )AppTaskCreate, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )Test_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )LED_Task, /* 任务入口函数 */(const char* )"LED_Task",/* 任务名字 *//* LED_Task任务句柄 */
2024-08-26 15:49:03
761
原创 BAT32G137国产项目通用第十节:FreeRTOS 计数信号量
xReturn = xTaskCreate((TaskFunction_t )AppTaskCreate, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )Give_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )Take_Task, /* 任务入口函数 *//* Take_Task任务句柄 */(const char* )"Take_Task",/* 任务名字 */
2024-08-26 14:22:06
895
原创 BAT32G137国产项目通用第九节:FreeRTOS 事件
创建了两个任务,一个是设置事件任务,一个是等 待事件任务,两个任务独立运行,设置事件任务通过检测按键的按下情况设置不同的事件 标志位,等待事件任务则获取这两个事件标志位,并且判断两个事件是否都发生,如果是 则输出相应信息,LED。/* 任务控制块指针 */xReturn = xTaskCreate((TaskFunction_t )KEY_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )LED_Task, /* 任务入口函数 */
2024-08-24 14:10:03
974
原创 BAT32G137国产项目通用第八节:FreeRTOS 软件定时器
(TickType_t )5000,/* 定时器周期 5000(tick) */(TickType_t )1000,/* 定时器周期 1000(tick) */xReturn = xTaskCreate((TaskFunction_t )AppTaskCreate, /* 任务入口函数 */(UBaseType_t )pdTRUE,/* 周期模式 *//* 软件定时器句柄 */(UBaseType_t )1, /* 任务的优先级 */
2024-08-24 11:31:50
430
原创 BAT32G137国产项目通用第七节:FreeRTOS 互斥量
xReturn = xTaskCreate((TaskFunction_t )HighPriority_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )MidPriority_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )LowPriority_Task, /* 任务入口函数 */
2024-08-23 16:58:06
1124
原创 BAT32G137国产项目通用第六节:FreeRTOS 二值信号量
xReturn = xTaskCreate((TaskFunction_t )AppTaskCreate, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )Receive_Task, /* 任务入口函数 */(const char* )"Receive_Task",/* 任务名字 */xReturn = xTaskCreate((TaskFunction_t )Send_Task, /* 任务入口函数 *//* 创建任务句柄 */
2024-08-23 16:29:30
881
原创 BAT32G137国产项目通用第五节:FreeRTOS 消息队列
* 任务控制块指针 */xReturn = xTaskCreate((TaskFunction_t )AppTaskCreate, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )Receive_Task, /* 任务入口函数 */(const char* )"Receive_Task",/* 任务名字 */xReturn = xTaskCreate((TaskFunction_t )Send_Task, /* 任务入口函数 */
2024-08-23 15:52:44
669
原创 BAT32G137国产项目通用第四节:FreeRTOS MCU负载率
xReturn = xTaskCreate((TaskFunction_t )AppTaskCreate, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )LED1_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )LED2_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )CPU_Task, /* 任务入口函数 */
2024-08-23 15:25:10
1062
原创 BAT32G137国产项目通用第三节:FreeRTOS任务管理
* 挂起LED任务 *//* 任务控制块指针 *//**************************** 任务句柄 ********************************/xReturn = xTaskCreate((TaskFunction_t )KEY_Task, /* 任务入口函数 */xReturn = xTaskCreate((TaskFunction_t )LED_Task, /* 任务入口函数 */(const char* )"LED_Task",/* 任务名字 */
2024-08-23 14:53:04
745
原创 BAT32G137国产项目通用第二节:FreeRTOS启动流程
系 统先初始化好,然后创建一个启动任务后就启动调度器,然后在启动任务里面创建各种应 用任务,当所有任务都创建成功后,启动任务把自己删除。是在 main 函数中将硬件初始化, RTOS 系统初始化,所有任务的创建这些都弄好,启动。/* 任务实体,必须有阻塞的情况出现。/* ......继续创建各种任务。/* RTOS 系统初始化 */任务实体,必须有阻塞的情况出现。任务实体,必须有阻塞的情况出现。任务实体,必须有阻塞的情况出现。当任务创建完成,删除起始任务。起始任务,在里面创建任务。阻塞时,继续创建任务。
2024-08-23 14:10:13
505
原创 BAT32G137国产项目通用第一节:RTOS创建动态工程
在创建单任务—SRAM 静态内存的例程中,任务控制块和任务栈的内存空间都是从内部的 SRAM 里面分配的,具体分配到哪个地址由编译器决定。
2024-08-23 12:04:59
341
原创 STM32F030C8T6串口例程,实现串口打印
STM32f030C8T6单片机的串口实现打印printf函数,是经常需要用到的,有需要可以直接复制上面的代码实现。
2024-04-11 15:58:24
1176
原创 IAR 编译器没有定义FILE这个类型以及文件没有包含.h文件的报错
1.FILE报错需要找到option选项进行处理:2.找不到文件.h则需要。
2024-04-10 10:38:53
449
原创 STM32 单片机ADC 电压计算
摘要:由于单片机ADC开发使用比较多,则我们需要注意ADC的参考电压,不同的参考电压获取的最终电压值是不一样的,同样的,分辨率的位数也会影响到电压最终的值;
2022-06-30 10:05:09
5261
原创 C语言中的排序,实现从小到大的数字排序法
对于项目开发,有时候想要对一个ADC采集的电压进行排序,然后得出稳定的ADC值,则需要对排序是必不可少的。
2022-06-23 09:14:07
2385
原创 C语言实现时间戳转年月日时分秒格式
前言在一次项目开发的过程中,由于通过时间戳换算出年月日进行比较,并且各个国家的时区都不一样,有正时区,负时区,后面想明白怎么处理。正文#include <stdio.h>#include <time.h>int main (){ time_t PTime = 0; time_t time = 1651075170; // 时间戳,可以用time(&mytime);获取当前时间戳 struct tm* timeP; char ...
2022-04-29 10:51:53
8295
4
原创 实现数字转字符串/16进制转字符串
/** *************************************************************************** 函数名称: myitoa* 函数参数:* 函数返回:* 函数功能: 把单个数字转化为字符串* **************************************************************************** */u8 myitoa(u32 num,u8 *databuf)//12...
2021-12-02 17:11:30
401
原创 电压自校准
通常ADC进行采集到转换后,会存在电压值与实际值偏差较大现象,例如以万用表为例,我们通过一个标准的万用表进行测试12V电池,通过电池在11.9V之间,万用表就可测出12V,由于两者误差较小,所有,我们以万用表12V为标准电压。我们使用单片机进行对电池进行测试,同样12V电池,而单片机转换后的ADC计算出的电压为11.998~11.995V,这是应如何进行校准了?通常会使用以下方法:第一步:我们设VOl_Std = 12000mv,进行扩大100倍,防止浮点数出现,因此为:Vol_std
2021-11-15 16:38:30
2725
原创 C语言:实现两个时间段差值
typedef struct flash_time_data_vol{ u8 hour; u8 min; u8 sec;}Flash_Time_Date_Vol,*PFlash_Time_Date_Vol;void TimeSub(PFlash_Time_Date_Vol time1,PFlash_Time_Date_Vol time2,PFlash_Time_Date_Vol time){ u32 t1 = 0,t2 = 0,t = 0; t1=t...
2021-09-15 11:53:48
241
原创 实现两个日期相差多少天,算法比较妙
u16 day_diff(u16 year_start, u16 month_start, u16 day_start , u16 year_end, u16 month_end, u16 day_end){ u16 y2, m2, d2; u16 y1, m1, d1; m1 = (month_start + 9) % 12; y1 = year_start - m1/10; d1 = 365*y1 + y1/4 - y1/100 + y1/400 + (m1*...
2021-09-15 11:46:59
145
原创 合泰单片机库函数开发:HT66F3185初学与应用开发ADC(中断/查询)
对于大多数电子系统而言,处理现实世界的模拟信号是共同的需求,为了能让MCU处理这些信号,需要通过A/D转换器将模拟信号转换为数字信号。 HT66F3185内部的ADC模块可以将外部模拟信号转换为12-bit的数字信号。为了说明如何使用ADC功能,此范例使用ADC功能采样输入信号,使用中断方式, 量测输入信号的AD值,手动触发ADC量测,当AD转换完成后,程序会自动跳到ADC中断程序(位于HT8_it.c的0x18中断入口)里读取转换后的数据,将数据存放到g_nADC_ISR_Value变量。...
2021-09-13 17:10:05
4394
原创 泰凌微TLSR825X Flash开发与应用实现(2)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、实现时间戳ADC电压值的存储flash 二、时间日期的实现 1.时间日期的编写 2.利用泰凌微定时器中断实现时间更新 3.通过flash写入时间戳ADC电压值进flash 4.通过flash读出flash时间戳数据 总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、实现时间戳ADC电压值的存储flash二、时间日期的实现1.时间日期的编写#def
2021-09-13 16:31:39
1543
原创 泰凌微TLSR825X Flash开发与应用实现(1)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、泰凌微TLSR825X Flash介绍 二、使用步骤 1.Flash的读写函数以及擦除函数 2.实现跨页写 3.跨扇区读写 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、泰凌微TLSR825X Fla
2021-09-13 16:11:38
1459
原创 泰凌微TLSR825X:ADC功能实践与应用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么?泰凌微TLSR825X ADC一、pandas是什么? 二、使用步骤 1.ADC初始化 2.ADC公用一个通道切换不同采集电压功能 3.实现共用一个通道的不同ADC采集 总结前言随着国产芯片的发展,尤其是近代西方国家对中国的限制,不等不采用采用国产芯片,本文是对泰凌微TLSR825X的ADC进行讲解和应用。提示:以下是本篇文章正文内容,下面案例可供参考
2021-09-13 15:17:47
1326
原创 泰凌微TLSR825X:定时器以及中断
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言随着国产芯片的发展,尤其是近代西方国家对中国的限制,不等不采用采用国产芯片,本文是对泰凌微TLSR825X的定时器进行讲解和应用。提示:以下是本篇文章正文内容,下面案例可供参考一、泰凌微TLSR825X的定时器有什么个?目前的泰凌微TLSR825X的定时器有4个,定时器0/定时器1/定时器2以及一个看门
2021-09-13 14:22:01
2067
BAT32G137国产芯片开发实例,可以很方便的实现每个模块的调试和验证,适用于大型智能家居,智能充电器等产品开发
2024-08-16
资源能够通过Qchat实现波形的显示以及保存波形,可以用于串口数据波形的显示,实现对曲线整体的分析和实现
2023-12-08
STM32 F10x单片机非操作系统时间轮序框架案例
2022-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人