嵌入式C笔记
文章平均质量分 77
米杰的声音
technical support please call WeChhao XiYuansEcho
展开
-
【Keil】CubeMX配置的FreeRTOS利用V6编译出错
当使用CubeMX生成带有FreeRTOS的工程时,由于Use default compiler version 5编译器编译时间过于漫长,我们选择使用编译速度更快的Use default compiler version 6,但是更改之后再次编译会出现很多错误。原创 2022-11-27 10:54:03 · 4568 阅读 · 6 评论 -
【Keil51】软件安装及问题解决
1. 软件下载软件连接请去我的百度网盘下载,网盘主要包括:1. 51单片机的KEIL52. 破解软件3. 串口下载软件2. 问题汇总2.1 没有破解、错误信息:*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 1. 安装Keil C51 v9.60a版本,即uV5 2. 打开uVision5,点击File---License Management,打开License Man...原创 2021-09-08 14:48:07 · 1730 阅读 · 0 评论 -
【Arduino】串口数据收发处理
利用NANO开发板编写#define MAX_BUFFERSIZE 128 //自定义的缓冲buff长度char uart_Receive_Buff [MAX_BUFFERSIZE]; //缓冲buffunsigned int uart_Receive_Length = 0; //接收字节长度unsigned long preUartTime = 0; //记录读取最好一个字节的时间点unsigned int frame_Length = 5; //数据长度unsigned int fra.原创 2021-08-18 14:09:05 · 3032 阅读 · 0 评论 -
【STM32多路温控—第五章】接收字节的处理
我们利用上位机对MCU发送指令,意图就是根据发送的指令数值改变其中的参数值,或者执行相关函数。因此接收字节的处理这部分也是值得研究和学习的。首先对数据结构进行确定。数据类型我们依然可以使用结构体进行定义。typedef union { char Ch[2]; uint16_t Int;}Format_UnionTypedef;typedef struct { __IO uint8_t Code; __IO Format_UnionTypedef data[13];/原创 2021-07-13 11:24:49 · 636 阅读 · 1 评论 -
【STM32多路温控—第四章】PWM、PID结构体的全局使用
多路温控涉及到很多参数,如何定义这些重复的参数首先我们会想到结构体,将这一类的参数类型在结构体中定义,再重新声明一个结构体变量就可以引用结构体的类型参量,然后再对其赋值。基于这种思路我们来分析一下温控的相关参数类型都包括哪些。首先是每个通道的PWM相关参数,开启、时基、占空比、输出函数这些必要的类型量是16路通道都具备的。所以我们首先定义这样一个结构体。因为结构体中有函数,我们直接定义函数其效率远远不及我们定义一个函数指针,我们将实体函数定义完毕后,用结构体的函数指针去指向和调用我们定义的函数,因此原创 2021-07-13 11:01:49 · 2577 阅读 · 2 评论 -
【STM32多路温控—第三章】ADC多通道采样,及数据上报
通信主要是通信协议的编写,配合我之前编写的温度助手,可以使用温度助手控制其开启和关闭。原创 2021-07-12 11:06:33 · 1576 阅读 · 4 评论 -
【STM32多路温控—第二章】Keil搭建工程框架
我们要开启一个项目,如何将程序很好的部署关系到后续的代码移植和代码量增多之后的管理。本文就针对上述问题,提出一种合理的工程部署方法。我们基于cobemx的软件灵活性,确保每次编译之后否不改变系统的完整性这一思想,将cobemx生成的文件和自己编写的文件独立开。这就是所提出这种工程部署方法的初衷。拿STM32F103VBT6这块单片机来说我们要注意以下几点:基础底层头文件汇总我们通过cobemx生成的一些列基础功能配置,都会产生单独的.c和.h文件。将一些底层配置的头文件汇总到一个头文件中,在原创 2021-07-12 10:48:21 · 639 阅读 · 2 评论 -
【STM32】利用模拟IIC读写取AT24C02+延时函数
模拟IIC程序与正点原子比较原创 2021-07-11 15:28:27 · 2386 阅读 · 5 评论 -
【理论】一文看懂Modbus通信协议(上)
Modbus是一种工业协议,于1979年开发,旨在实现自动化设备之间的通信。本章采用通俗易懂的语言来解释Modbus的通信原理,主要包括Modbus-RTU协议以及Modbus-ASCLL协议。原创 2020-04-28 00:03:35 · 7708 阅读 · 0 评论 -
【C应用】一文看懂Modbus通信协议(下)
Modbus通信协议是在RS-485串口实验的基础上实现的,简单说就是首先要实现RS-485的串口通信,对所收发的数据串按照Modbus的规则编写(比作数据的加密处理)因此在程序编写上主要分为3个步骤:1.实现1ms中断计时的定时器;2.实现发送和接收数据的串口;3.Modbus程序编写。本节将本着从理论落实到实践的角度对Modbus通信协议进行代码实现。原创 2020-04-29 23:20:27 · 8124 阅读 · 8 评论 -
【C应用】红外遥控小车程序分析(上)——四轮马达方向控制程序分析
前言:基于STM32主控,通过操作红外线遥控器控制小车方向运动原创 2020-09-04 00:13:38 · 5655 阅读 · 2 评论 -
【C应用】红外遥控小车程序分析(下)——红外传输数据程序分析
先对红外传输原理及其NEC原理进行介绍,再对小车宫外遥控程序进行分析。原创 2020-09-06 01:38:02 · 3077 阅读 · 1 评论 -
【RTOS】RTOS实时操作系统随笔(结合UCOSII相关移植)
跟着需求学习才能学的更好,所以学习操作系统应当知道为什么要用到操作系统,当你的主函数while()循环中执行的任务过多时,难免会出现这样或那样的问题。那么引入操作系统可能会帮你解决这样的问题。本篇文章向大家介绍操作系统的基本功能,以及UCOSII的移植方法。RTOS:Real time Operation SystemKeil RTX 是免版税的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备。RTOS可以自由地调度系统资源,比如CPU和内存,并且提供一种任务间通信机制。原创 2020-09-12 18:21:28 · 808 阅读 · 0 评论 -
【C应用】基于HAL库的SPI读FLASH
基于STM32F407利用HAL库使用SPI对W25Q128进行读写实验。原创 2020-09-24 00:16:58 · 5741 阅读 · 0 评论 -
【C应用】STM32中的结构体指针、强制类型转换代码分析
本文介绍了利用结构体指针方式对多数据类型的参数进行赋值原创 2020-10-07 00:18:57 · 2481 阅读 · 0 评论 -
【C应用】正点原子串口接收中断实验浅解 ----为什么用USART_RX_STA
问题:USART_RX_STA有什么用,为什么USART_RX_STA会接收完成改变14和15位。【小贴士】在介绍之前首先了解回车和换行的表示方法和区别:回车:回到当前行行首,不会回到下一行,如果接着输入则会覆盖本行以前的内容。换行:换到当前位置的下一行,而不会回到首行。 回车 换行 0x0d 0x0a \r \n 如果我们想接收一个字符串“HELLO/r/n”在这个回原创 2020-10-17 21:05:59 · 5812 阅读 · 6 评论 -
【C应用】基于HAL库的硬件IIC和基于时序的模拟IIC
介绍了IIC通信协议的两种编程方式1. 配置单片机硬件IIC库函数2. 通过I/O口模拟输出时序来实现对EEPROM的数据写入和读取原创 2020-10-07 22:31:48 · 3639 阅读 · 2 评论