51单片机MODBUS RTU协议从机

STC89C52RC单片机的MODBUS RTU协议从机的实现

1.波特率9600

2.校验位even

3.数据位8

4.测试的从机设备地址设为0x1,测试的寄存器地址为16,也就是图上的20(8进制)。

现象:

20(8进制)寄存器写入45(16进制),再读20(8进制)寄存器,响应为[……]

继续阅读

C 动态数组

1、功能介绍
1.1、初始化动态数组
动态数组主要维护:这个这个结构体
typedef struct dynamicArry
{
void** pAddr; // 数组指针
int m_size; // 数组元素个数
int m_capacity; // 数组容量大小

}dynamicArry;[……]

继续阅读

C scanf

scanf()函数

scanf 是 scan format 的缩写,意思是格式化扫描,也就是从键盘获得用户输入,和 printf 的功能正好相反。

我们先来看一个例子:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a = 0, b =[……]

    继续阅读

C printf

printf 的格式

printf 函数的原型为:

# include <stdio.h>
int printf(const char *format, …);

在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很[……]

继续阅读

查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “pch.h“

方法一:
选择报错的.cpp或者.c文件,右键-属性-预编译头-不使用预编译头即可

注意:
一定要确保当前的平台与配置管理器中的平台设置一致,否则设置完了没有任何效果

方法二:
这个问题不一定是配置了使用预编译头造成的(项目-属性-配置属性-c/c+±预编译头),
也可能只是文件编码的问题,点击[……]

继续阅读

C 时间日期格式化

时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)

%a 本地[……]

继续阅读

C qsort排序函数

一、函数原型
qsort包含在<stdlib.h>头文件中,根据你给出的比较函数进行快速排序,通过指针移动实现排序,排序之后的结果仍然放在原数组中,使用qsort函数必须自己写一个比较函数。

函数原型:

void qsort(void *base, size_t nitems, si[……]

继续阅读