![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BabyOS
文章平均质量分 54
mainbanp
小电工一枚,模拟电路、数字电路、单片机编程、线路板设计、线路板生产&测试,都一知半解,欢迎交流哈!
做过传感器、运动控制、物联网监控、射频接收发送机、电源,欢迎正向/逆向开发的老板来聊哈!
展开
-
CubeMX+BabyOS 使用方法
编译器:MDK托管工具:Sourcetree。原创 2023-10-11 11:39:01 · 296 阅读 · 0 评论 -
调试modbus协议栈中一个指针引发的HardFault
STM32G070。原创 2024-08-25 22:52:17 · 270 阅读 · 0 评论 -
MQTT 如何使用之使用调试工具篇
参照下面这篇文章。原创 2024-07-29 16:26:37 · 283 阅读 · 0 评论 -
Freertos tick 不响应中断的解决方法
vPortEnterCritical 卡死;systick 不进中断;原创 2023-10-31 16:44:44 · 467 阅读 · 0 评论 -
CmBacktrace组件使用
前言:作者分享一下使用"CmBacktrace"解决 “HardFault_Handler ”的过程。问题babyos 中shell组件的使用中,虽然编译通过,但是只要使用,就会"HardFault_Handler ";于是打算用“CmBacktrace”来定位问题;正文1:添加CmBacktrace 组件;2:添加“CmBacktrace”文件3:初始化 bTraceInit("MBOUT");4:触发错误提示:Fault on interrupt or.原创 2022-03-31 17:11:20 · 492 阅读 · 0 评论 -
shell 组件应用
本文介绍:基于babyos 使用shell 功能;准备可以参照之前的文章,你的MCU平台可以正常运行bos 与 log 功能;正文1:b_config 文件配置参数默认2:注册回调接口bSHELL_REG_INSTANCE("excitation", _CmdExcIndHandler);3:串口空闲终端调用解码接口static void _UartIdleHandler(uint8_t *pbuf,uint16_t len){ bProtocolParse(原创 2022-03-31 16:56:12 · 667 阅读 · 0 评论 -
BOS-UART组件使用方法
前言 独乐乐不如众乐乐,今天记录一下BOS-UART组件使用方法使用方法分析使用方式-发送 在路径“BabyOS\bos\mcu\st\stm32f10x” mcu_stm32f10x_uart.c 中,定义了实例:bHalUartDriver_t bHalUartDriver = { .pSend = _UartSend, .pReceive = _UartReceive,};后面使用直接使用接口:b...原创 2021-12-15 11:37:29 · 387 阅读 · 1 评论 -
BabyOS 移植之MCU GPIO 硬件抽象层
前言BabyOS 是一套代码框架,好比于乐高积木,提供一些功能模块,按照相对应的使用方法可以快速搭建自己的嵌入式系统。那么我们说一下想把它移植到别的平台如何操作?点灯作为第一个目标,那就是移植GPIO操作。流程想学习自带历程对应的方法,搞懂之后就移植到自己的目标平台;自带历程STM32F107#define GPIO_REG_OFF (0x400UL)#define GPIO_REG_BASE (0x40010800UL)typedef struct{ vol原创 2021-12-06 11:36:13 · 1110 阅读 · 0 评论 -
软件PWM 模块分享
前言 做项目中遇到很多IO类输出要类似PWM方式控制,网上找了一圈有这方面的轮子,但是和硬件耦合性太大,于是自己基于BabyOS造了一个纯软件的PWM模块;code/** * \defgroup PWM_Exported_Defines * \{ */#define bPWM_INSTANCE(name, _period, _ccr, _repeat) \ bSoftPwmInstance_t name = {.period = _period,.ccr = _...原创 2021-12-01 11:56:37 · 683 阅读 · 0 评论 -
HC32L072 移植BabyOS
资料准备下载链接,此次移植使用MDK平台;过程官方库编译1:准备使用官方模板进行移植,编译“hc32l07x_template”,通过;2:将“hc32l07x_ddl_Rev1.1.1”->"driver" 文件夹复制到工程文件下;3:将“hc32l07x_ddl_Rev1.1.1\example\uart\uart_int\source” 文件复制替换工程“hc32l07x_template\source”下面文件编译报错解决方法:将“hc32l07x_ddl_R.原创 2021-11-29 17:28:39 · 584 阅读 · 0 评论 -
BabyOS-数据存储实例
前言BOS提供三个数据存储功能,KV,SDA,SDB,以下摘自使用者手册;3.4.8. 数据存储数据存储功能模块,暂时提供了 2 种场景:第一种场景(sda):依靠时间存储相同大小的数据,例如每小时存储 20个字节,存储 1 年。这种情况下会根据时间计算每个时间点存储的地址。第二种场景(sdb):在一块最小擦除单位存放一笔数据。存储时会额外加上校验,读取时会判断校验。首先定义实例:SDA 需要指定存储的间隔时间,总时间,每次存储的数据大小以及起始地址和最小擦除单位,设备号。根据上面原创 2021-11-19 17:18:39 · 830 阅读 · 0 评论 -
BabyOS-Protocol使用
BabyOS-Protocol 提供了一套 协议解析的框架;并提供了一套私有的bos 协议;可以很容易嵌入其他协议,如// proto_name \ref "bos": babyos私有协议这是一个看上去很不错的框架,非常建议去了解一下这套框架;并且在你没有对比发现比这套框架更好的代码时候,非常建议你去实际使用一下它。原创 2021-05-13 10:49:35 · 228 阅读 · 0 评论