- 博客(12)
- 收藏
- 关注
原创 在FreeRTOS系统中将vTaskDelay()改为微秒级别的延时
在FreeRTOS系统中将vTaskDelay()改为微秒级别的延时在FreeRTOS中,系统延时和阻塞时间都是以系统节拍时钟周期为单位。在配置文件FreeRTOSConfig.h,改变宏configTICK_RATE_HZ的值,可以改变系统节拍时钟的中断频率,也间接的改变了系统节拍时钟周期(T=1/f)。比如设置宏configTICK_RATE_HZ为100,则系统节拍时钟周期为10ms,设置宏configTICK_RATE_HZ为1000,则系统节拍时钟周期为1ms。根据修改configTICK_RA
2022-04-24 17:05:20 4552 3
原创 error: #20: identifier “FILE“ is undefined
在用STM32Code MX建立文件,重定向printf函数的时候,在uart.c函数中增加如下代码int fputc(int ch,FILE *f){ HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,1000); return ch;}然后编译时出现error: #20: identifier “FILE” is undefined的错误,是因为没有添加#include "stdio.h"头文件,在uart.c中添加该头文件后即可编译成功。
2022-02-17 16:54:31 7841 2
原创 关于stm32自锁导致debug检测sw芯片
关于stm32自锁导致debug检测sw芯片解决方法:用Flymcu进行程序擦除解锁用烧录模块连接好芯片串口1(PA9,PA10)以及GND,VCC,打开Flymcu点搜索串口,设置波特率bps为76800,然后拉高BOOT0为高电平,点击擦除芯片,按下开发板上的RST按键(拉低RST),片刻后放开即芯片会自动擦除。...
2022-02-14 21:34:24 3972
原创 一种物联网型的电能监控排插
基于RISC-V MCU为核心的智能电能表,及有人云物联网平台监控数据一、预想功能二、系统框架三、硬件介绍四、软件介绍五、有人云控制面板六、功能验证一、预想功能基于32 位通用增强型 RISC-V MCU CH32V103开发板的核心控制芯片通过处理单相电能检测模块实时获取单相电压、电流、有功功率、无功功率、电能、功率因数、二氧化碳含量、频率、芯片温度等相关数据进行计算和整理,同时驱动OLED 屏幕实时刷新显示单相电能相关数据,同时通过串口向以太网模块发送数据,通过以太网模块上传到云端,实现远距离在有人
2021-09-25 19:52:16 2742 4
原创 define,typedef,ifdef,extern的使用
define 宏定义define 是 C 语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。常见的格式:#define 标识符 字符串“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。例如:#define uchar unsigned char //该行程序语句无需“;”作为结束符#define 命令作用相当于将“原内容”重新起了一个比较简单的“新名称”,方便以后在程序中直接写简短的新名称,而不必每次都写繁琐的“原内容”。typedef 声明的作用t
2021-08-08 11:02:10 769
原创 关于51单片机的逐次比较型模拟数字转换器对A/D转换及测试。
什么是A/D 模数转换?在工业检测系统和日常生活中许多物理量都是模拟量,比如温度、压力、位移、图像等,这些模拟量可以通过传感器变成与之对应的电压、电流等电模拟量。为实现数字系统对这些电模拟量进行检测、运算和控制,则需要一个模拟量和数字量之间相互转化的过程,即 A/D 模数转换。什么是模拟量?模拟量:在时间上或数值上都是连续的物理量称之为模拟量,把模拟量的信号称为模拟信号,如温度、压力、位移、图像等都是模拟量。例如:热电偶在工作时输出的电压信号就属于模拟信号,因为在任何情况下被测温度都不可能发生突跳,
2021-07-22 16:30:54 2063
原创 关于51单片机串口1发送完整的数据包
关于51单片机串口1发送完整的数据包在参考这样的协议的条件下我们想发送一套完整的数据包该如何发送呢?可以设计这样的程序。1. 串行口1接收特定包头数据包函数。参数: Uart_Rec_Data:串口接收到的数据 ; USER_Get_DataPacket: 数据存储目标数组。返回: 0:未接收到完整的数据包; 1:接收到完整的数据包。注:数组 USER_Get_DataPacket[2] 代表的是数据段的长度,通过【 数据段长度 + (地址,命令,数据长度标记码以及校验码的个数之和)=
2021-07-20 18:29:13 5137 1
原创 关于编译时出现 Program Size: Code=1024 RO-data=336 RW-data=12 ZI-data=1324 的含义。
关于编译时出现 Program Size: Code=1024 RO-data=336 RW-data=12 ZI-data=1324 的含义。Code:表示程序所占用 FLASH 的大小(FLASH)。RO-data:即 Read Only-data,表示程序定义的常量,如 const 类型(FLASH)。RW-data:即 Read Write-data,表示已被初始化的全局变量(SRAM)ZI-data:即 Zero Init-data,表示未被初始化的全局变量(SRAM)从编译信息可以看
2021-07-19 17:25:11 1583
原创 STM32F103单片机跑马灯程序/寄存器
STM32F103单片机跑马灯程序/寄存器首先是主函数。主函数先是调用 Stm32_Clock_Init 函数,配置系统时钟为 9 倍频,也就是 8*9=72M(外部晶振是 8Mhz),然后调用 delay_init 函数,初始化延时函数。接着就是调用 LED_Init 来初始化 PE5 和 PB5 为输出。最后在while循环里面实现 LED0 和 LED1 交替闪烁,间隔为 300ms。int main(void){ Stm32_Clock_Init(9);//系统时钟设置 del
2021-07-19 17:20:48 1293
原创 关于51单片机LED灯的程序
51单片机关于LED灯的程序//========================================================================// 函数: void SoftWare_Dealy_MS(uint16_t X_ms)// 描述: 毫秒延时函数// 参数: X_ms:要延时的X_ms毫秒数, 这里只支持1~65535ms. 自动适应主时钟// 返回: none.// 版本: VER1.0// 日期: 2021-2-15// 备注://=====
2021-07-16 09:00:06 934 1
原创 MDK5编译时出现* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0002H BYTE ( 0%) *的错误。
MDK5编译时出现* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0002H BYTE ( 0%) *的错误。尝试了很多方法都不行,最后重装了MDK5解决了问题。
2021-07-13 16:44:04 917
原创 解决关于用MDK5编程32程序时出现的错误
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-07-13 16:37:37 682
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人