- 博客(75)
- 收藏
- 关注
原创 XCOSnTh-STM32F103C8T6-LSE-TIME
本文介绍了基于STM32的RTC(实时时钟)模块实现,主要内容包括:1) RTC初始化配置流程,包括时钟源选择(LSE/32.768kHz晶振)、备份域访问使能等;2) 实现了日期时间处理功能,包括闰年判断、月份天数计算、星期计算(Zeller公式)和时间戳转换;3) 提供了完整的RTC操作接口,包括设置/获取时间、日期和日期时间结构体;4) 实现了与标准time.h库的兼容接口,支持UNIX时间戳转换。该实现可应用于需要精确时间记录的嵌入式系统,具有完整的输入验证和错误处理机制。
2026-01-05 12:48:49
162
原创 XCOSnTh-HW3000模块
HW3000射频芯片驱动库摘要 本文档提供了HW3000射频芯片的C语言驱动程序实现,主要包括以下内容: 硬件接口定义 定义了SPI通信接口和GPIO控制引脚 实现了寄存器读写、FIFO操作等底层功能 核心功能模块 芯片初始化配置(频率、功率、数据速率等) 数据收发功能(帧模式和FIFO模式) 低功耗模式管理(休眠、深度休眠) CRC校验计算 工作模式支持 支持多种频率波段(315MHz/433MHz等) 支持多种数据速率(1Kbps-100Kbps) 支持帧模式和直接FIFO模式 支持ACK确认机制 应用
2025-12-28 11:53:51
89
原创 XCOSnTh windows C++录音与播放
摘要:本文展示了一个基于Windows音频API的简易音频采集与播放系统实现。代码通过waveIn和waveOut接口实现了音频设备的初始化、录音功能(StartRecording)和停止录音(StopRecording),以及播放录制音频(PlayRecordedAudio)的功能。系统采用单声道、8位采样、11025Hz采样率的PCM格式,包含错误处理机制。虽然注释中提及网络传输功能(已注释),但当前实现主要聚焦于本地音频采集与回放,适用于基础音频处理需求。
2025-12-15 15:24:58
111
原创 XCOSnTh-hal-cmd_usart
摘要:该代码实现了基于HAL库的UART串口通信功能,主要包括:1) 定义512字节FIFO缓冲区用于接收数据;2) 通过中断回调函数实现单字节接收并存入FIFO;3) 重定向printf输出到串口发送;4) 初始化命令处理适配器,启动串口接收中断。代码结构清晰,包含数据接收、发送和初始化三个主要功能模块,适用于嵌入式系统中的串口通信需求。
2025-10-24 13:52:00
120
原创 XCOSnTh-Keil生成s19文件
文章摘要: 该命令用于将ELF格式的32位目标文件转换为Motorola S19格式的可执行文件。具体功能包括:--m32combined指定32位处理模式,--output=output.s19定义输出文件名,输入文件为.\Objects\project.axf。S19格式常用于嵌入式系统编程,此转换便于将程序烧录到微控制器中。命令简洁,适用于开发环境中的自动化构建流程。
2025-10-13 12:50:52
106
原创 XCOSnTh-STM32F103C8T6-USART2
该代码实现了STM32微控制器的USART2串口通信功能,主要包括: USART2初始化配置(GPIO、波特率115200、8位数据位、无校验位) 中断接收数据功能,通过USART2_IRQHandler处理接收中断 提供接收缓冲区设置接口USART2_SetRxBuffer 实现fputc函数重定向支持printf输出 包含头文件USART2.h定义相关接口函数 代码结构清晰,实现了基本的串口通信功能,支持中断方式接收数据并存入指定缓冲区。
2025-10-06 12:35:08
137
原创 XCOSnTh软件是如何结合到硬件上的?
本文以STM32F103C8T6单片机为例,阐述了程序如何通过寄存器地址控制硬件。CPU从Flash读取程序指令,通过向特定地址写入数据(如0x20000000地址写入0xAA)来控制外设。锁存器作为数字电路元件,能暂存信号电平状态。文中以8位锁存器74LS373为例说明其工作原理,并详细介绍了如何通过寄存器操作控制STM32的PC13引脚电平(包括时钟使能、端口配置和输出控制)。最后提到结构体与地址的映射关系,展示了硬件寄存器与程序变量的关联方式。
2025-09-27 23:35:55
244
原创 XCOSnTh单片机的IO口
摘要:本文介绍了如何通过STM32单片机的PC13引脚控制LED灯。当PC13输出高电平(1)时LED熄灭,输出低电平(0)时LED点亮。文章详细说明了推挽输出模式的电路原理:输入低电平使输出接地,输入高电平使输出接电源。同时提到STM32的IO口有8种工作模式,包括推挽输出、开漏输出等多种输入输出配置。通过初始化GPIOC时钟和设置PC13为推挽输出模式,可实现LED的亮灭控制。
2025-09-27 23:06:30
496
原创 XCOSnTh单片机的串口
本文介绍了单片机串口通信的基本原理和实现方法,重点讲解了TTL串口的硬件连接和数据格式。串口通信需要RX(接收)、TX(发送)和GND三根线,采用异步传输方式,每帧数据包含起始位、8位数据位和停止位。文章详细说明了串口配置参数,包括波特率(115200/9600)、工作模式(全双工/半双工/单工)、硬件流控(无)、校验方式(无)、停止位(1位)和数据位(8位),并提供了基于STD库的初始化代码示例。最后简要提及了RS232和RS485两种串口的电路图。
2025-09-27 22:05:43
482
原创 单片机入门的相关工具XCOSnTh
摘要:开发单片机下载器需掌握C语言(重点)和数字电路基础(高低电平、串口通信等)。开发工具包括C语言开发软件和笔记本电脑。核心要求是C语言熟练度,同时需了解SPI、IIC等常见电路接口。(49字) 注:通过压缩技术将原文精简至50字内,保留核心要素:开发要求(C语言+电路知识)、必要工具,删除冗余描述,符合摘要规范。
2025-09-27 20:56:24
283
原创 C语言printf爱心
该代码实现了一个心形图案的打印功能。主要逻辑是通过嵌套循环遍历二维坐标,利用数学公式(x²+y²-1)³-x²y³ ≤ 0判断是否打印字符'@',从而组成心形。代码使用了AutoCall机制初始化函数,循环变量y从1.5递减到-1.5,x从-1.5递增到1.5,步长分别为0.1和0.05。满足条件时打印'@',否则打印空格,最终输出一个由字符组成的心形图案。
2025-09-27 14:23:37
408
原创 XCOSnTh-main函数
本文展示了一个条件编译的C程序框架。在定义了XC宏的情况下,程序包含CMain.h头文件并声明一个1024字节的缓冲区。提供了两种不同的main()函数实现:第一种直接调用CMain()一次返回,第二种先初始化调用CMain(),然后进入无限循环持续调用。未定义XC时,main()为空实现。代码展示了如何通过宏定义控制不同编译路径的实现方式。
2025-07-27 18:35:53
124
原创 XCOSnTh命令行功能的驱动接口
该代码片段展示了一个基于FIFO队列的命令处理系统实现。主要功能包括:1) 定义512字节大小的命令FIFO缓冲区;2) 注册命令接收(CMD_FIFO_POP)和发送(CMD_PutC)接口;3) 实现底层字符输出函数PrintPutC;4) 提供通信接口初始化函数CmdProcess_AdaptaionInit。系统设计支持在中断服务程序中将接收数据压入FIFO,并通过注册的回调函数处理命令收发,适用于嵌入式系统中串口命令处理等场景。
2025-07-27 18:17:36
112
原创 模拟arduino编程格式
该代码片段展示了Arduino程序框架的扩展实现,包含基本的setup()和loop()函数定义。通过预处理指令#ifdef XC实现跨平台兼容,使用XCOSnTh.h头文件进行初始化。其中arduino_setup()和arduino_loop()作为静态回调函数,分别映射到标准的Arduino setup()和loop()函数。AutoCall_InitDef和AutoCall_WhileDef宏定义了程序的初始化和主循环执行逻辑。这种结构既保持了Arduino的经典编程模式,又提供了底层系统的扩展支持
2025-07-27 18:11:16
90
原创 keil直接生成bin文件
该摘要描述了从ELF格式文件生成二进制文件的两种命令格式: 批量转换命令:fromelf --bin --output Objects\project.bin Objects\*.axf,可将目录下所有.axf文件转换为.bin格式 单个文件转换命令:fromelf --bin --output Objects\project.bin Objects\project.axf,用于转换指定的单个.axf文件 这两种命令都使用fromelf工具实现ELF到二进制格式的转换,主要区别在于输入文件采用通配符批量处理
2025-05-24 10:58:13
258
原创 SCANEncoder
文章摘要:本文介绍了一个编码器模块的实现,包括头文件Encoder.h和源文件Encoder.c。Encoder.h定义了外部函数EncoderCountValue(),用于获取编码器的计数值。Encoder.c中实现了SCANEncoder()函数,用于处理编码器的信号变化并更新计数值。此外,还提供了AppTickISR()中断服务例程和EncoderInit()初始化函数,用于配置GPIO和时钟。最后,通过XCAutoInitExe_Encoder()和XCAutoWhile_Encoder()函数,将
2025-05-22 13:24:23
106
原创 XCOSnTh-fatfsShell
该代码实现了一个基于FatFs文件系统的命令行工具,支持常见的文件操作命令。主要功能包括:ls(列出目录内容)、pwd(显示当前路径)、cd(切换目录)、mkdir(创建目录)、rm(删除文件或目录)、touch(创建文件)、stat(查看文件状态)和rename(重命名文件或目录)。代码通过调用FatFs库函数实现文件系统的操作,并处理了常见的错误情况。每个命令都封装为独立的函数,并通过CmdDef宏注册为命令行指令。该工具适用于嵌入式系统或需要轻量级文件管理的场景。
2025-05-22 13:06:45
211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅