C语言基础
mail-mail
路漫漫其修远兮,吾将上下而求索。
展开
-
modbus科普文章
一、modbus起源Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。二、modbus协议版本Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络...原创 2019-12-02 10:22:42 · 467 阅读 · 0 评论 -
STC pintf 打印设置 超权威
#include <stdio.h>void tst_printf (void) { char a = 1; int b = 12365; long c = 0x7FFFFFFF; unsigned char x = 'A'; unsigned int y = 54321; unsigned long z = 0x4A6F6E00; ...原创 2019-10-28 09:01:02 · 223 阅读 · 0 评论 -
STC单片机 字节类型
在keil C51或者iar for c8051编译器下:int 占两个字节 范围:-32768~+32767long占四个字节 范围:-2147483648~+2147483647float占四个字节 范围:3.40E+38 ~ +3.40E+38double占8个字节 范围:-1.79E+308 ~ +1.79E+308...原创 2019-10-28 08:58:56 · 1836 阅读 · 0 评论 -
EEPROM 与FLASH的区别
FLASH和EEPROM的最大区别FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH...原创 2019-10-24 16:19:58 · 754 阅读 · 0 评论 -
Modbus使用小结
1、查询指令格式地址+功能码+寄存器地址+读取的寄存器个数+crc校验如 01 03 00 002、应答格式地功能码+数据个数+数据1、、、数据N+crc校验如原创 2019-04-25 16:54:22 · 343 阅读 · 0 评论 -
Program Size: data=137.2 xdata=0 code=5128 Target not created
解决方法:一、存储类型与存储区关系data--->可寻址片内rambdata--->可位寻址的片内ramidata--->可寻址片内ram,允许访问全部内部rampdata--->分页寻址片外ram(MOVX@R0)(256 BYTE/页),最好不用,据说有BUGxdata--->可寻址片外ram(64k地址范围)code--->程序存储区(...原创 2018-10-23 08:25:43 · 4446 阅读 · 2 评论 -
VC++6.0显示One or more breakpoints cannot be set
近来调程序的时候老碰到One or more breakpoints cannot be set ......,然后不能用断点调试,郁闷不只1次了,每次都花时间上网查,效率太低了。还是把有用的方法记录一下比较好。 方法一:project->setting->c/c++-general->debug info->program databse for edit a...原创 2018-09-29 14:05:55 · 851 阅读 · 0 评论 -
如何产生指定范围的随机数
这两个函数的使用都要包含头文件stdio.h。rand()函数返回的是一个0到RAND_MAX的随机数,RAND_MAX 这是一个常数,它的值在windows和linux下是不同的。在我的机子上这个值是32767,也就是说,在我的机子上,rand() 这个函数会返回一个0到32767的随机数。(这里不讨论返回的是不是真正意义上的随机数的问题,只讨论它的用法。)产生某个区间的随机数如果我...原创 2018-08-01 11:28:34 · 3072 阅读 · 0 评论 -
结构体 和结构体指针作为参数进行传递
结构体 结构体指针原创 2018-05-08 14:19:23 · 5390 阅读 · 0 评论 -
\r\n的区分
\r 回车,使光标回到行首\n换行,使光标下移一格。\r 在ascii中是 0x0D\n 在ascii中是0x0A原创 2018-04-21 15:13:27 · 242 阅读 · 0 评论 -
IEEE754数据格式介绍和解析方式(超权威)
一、定义:什么是IEEE754浮点数在C/C++中对应float和double类型,我们有必要知道浮点数在计算机中实际存储的内容。IEEE754标准中规定float单精度浮点数在机器中表示用 1 位表示数字的符号,用 8 位来表示指数,用23 位来表示尾数,即小数部分。对于double双精度浮点数,用 1 位表示符号,用 11 位表示指数,52 位表示尾数,其中指数域称为阶码。IEEE754规定:...原创 2018-03-28 11:32:56 · 46143 阅读 · 7 评论 -
51单片机堆栈的介绍
堆栈是一种数据结构。一直以为堆栈是一个寄存器,惭愧!教科书定义:所谓堆栈,就是只允许在其一端进行数据插入和数据删除的线性表。51单片机的单片机的堆栈是在内部RAM中开辟的。这句话表明了堆栈的位置。 那么堆栈到底有什么作用?堆栈主要是为子程序调用和中断操作而设立的,因此对应有两项功能:保护断点和保护现场。单片机的程序归根结底是个死循环,反复在执行Main函数(主原创 2018-02-06 09:26:57 · 7967 阅读 · 0 评论 -
结构体指针作为函数参数的应用
一、结构体的多层封装在头文件中进行声明:typedef struct{char summary[45];char datetime[20];char repeat_type[10];char voice_data_url[125];char voice_file_id[40];unsigned char voice_type;}SCHEDULE_IT原创 2018-01-29 09:13:40 · 1018 阅读 · 0 评论 -
struct 和typedef struct的区别
一、结构体的定义在C中定义一个结构体类型要用typedef:typedef struct Student { int a; }Stu;于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明)这里的Stu实际上就是struct Student的别名。Stu==struct Student另外这里也可以不写Student(于是也不能原创 2018-01-18 09:37:07 · 305 阅读 · 0 评论 -
c语言字符数组
1、字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。 char str[10]={ ‘I’,’ ‘,’a’,’m’,’ ‘,‘h’,’a’,’p’,’p’,’y’}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为原创 2017-11-23 21:18:24 · 611 阅读 · 0 评论 -
指针定义
下面都是指针定义的例子: float *pf; //定义了一个指向float型变量的指针pf char *pc; //定义了一个指向char型变量的指针pc char (*pch)[10]; //定义了一个指向10个char元素组成的数组的指针pch int (*pi)(); //定义了一个返回值为int型的函数的指针pi double **pd; //定义了一个指向指原创 2017-11-06 11:41:56 · 643 阅读 · 0 评论 -
数组自动补全功能
void Get_QN(void){ char param_out[128]={0}; memset ((char*)QN,0,sizeof(QN)); BQ32002_Time_Read(&m_systime); sprintf(param_out,"%d%02d%02d%02d%02d%02d%02d\r\n",m_systime.year+2000,m_sy原创 2017-08-31 15:47:20 · 1903 阅读 · 0 评论