单片机C语言程序设计: 单片机与 PC 通信 本例缓冲100个数字字符,缓冲满后新数字从前面开始存放(环形缓冲)。*/#include#defineucharunsignedchar#defineuintunsignedintucharReceive_Buffer[101];//接收缓冲ucharBuf_Index=0;//数码管编码//缓冲空间索引ucharcodeDSY_CODE[]={0x3f,0x06... 2023-06-13 单片机PC通信文章基础课C语言基础
单片机C语言程序设计:ADC0809 数模转换与显示 /* 名称:ADC0809数模转换与显示说明:ADC0809采样通道3输入的模拟量,转换后的结果显示在数码管上。*/#include#defineucharunsignedchar#defineuintunsignedint//各数字的数码管段码(共阴)ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,... 2023-06-13 文章基础课C语言基础
c中malloc和memset在多维数组上的应用 两者都是对内存进行操作的函数。应用在多维数组上时,需特别注意一下。首先看看两者原型。1.malloc函数,用于从堆上分配指定字节的内存空间。void * malloc(size_t n);n为要求分配的内存字节数。如果执行成功,函数返回获得的内存空间的首地址;执行失败,返回值为NULL。由于函数... 2023-06-13 C数组文章基础课C语言基础
C语言中sizeof()求字节数的应用举例 本文尽可能多的测试了在win32平台下用sizeof()求各种类型变量字节数的结果,而且会不断更新。很有参考价值哦!sizeof(char)=1sizeof(short)=2sizeof(int)=4sizeof(long)=4sizeof(float)=4sizeof(double)=8sizeof(long double)=8sizeof(unsigned char)=1siz... 2023-06-13 C程序文章基础课C语言基础
C语言:编写访问PCI的小工具 PCI的读写原理我就不罗嗦了,PCI的spec上面写的很清楚,仔细多看几遍就OK了。因为最近公司来了一个新人,要练习写PCI的小工具,试了很久没有搞出来,主要是用vc编译器,写出来的根本无法在DOS下运行,windows下运行需要通过驱动访问底层硬件;用TC编译器,因为是32位的,没法对CFC和CF8两个3... 2023-06-13 C文章基础课C语言基础
按某类型对齐的C代码实现 #define ALIGN_UP(addr, align) ((((nlm_uintptr_t) (addr)) + ((align) - 1)) & ~((align) - 1))test programing:#include #include int main(){int i = 0, n = 0;printf("----sizeof(long) l... 2023-06-13 C文章基础课C语言基础
C语言:获取当前时间,并转为字符串 这个功能挺常用的,记录一下:?123456789101112#include #include int main() { time_t nowtime = time(NULL); tm *now = localtime(&nowtime); printf("now: %04d-%02d-%02d %02d:%02d:%02d\n... 2023-06-13 C文章基础课C语言基础
c语言write与python的struct模块交互 以下讲的都是用二进制形式打开文件。网上有很多struct模块的文章,下面是我做的小实验。1.对于c里面的fwrite写入一个单字节,写的就是它的二进制。如3,写入文件就是二进制0x03,它并不是3的ascii码,即0x33;而python的struct模块与它一样,例如val = struct.pack('B', 3),返回的v... 2023-06-13 C文章基础课C语言基础
用C语言获取任意文件的长度(可能大于2GB) 用C语言获取文件长度的常见思路是:打开文件后用 fseek() 函数把文件位置指针移动到文件的末尾,用 ftell() 获得这时位置指针距文件头的字节数,这个字节数就是文件的长度。但是这样做也会受到下面的限制:ftell() 函数的返回值是 long 类型,在Windows 下(不管是 32 位还是 64 位),l... 2023-06-13 C文章基础课C语言基础
C语言排序算法 (1)“冒泡法”冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void bubble(int *a,int n) /*定义两个参数:数组首地址与数组大小*/{int i,j,tem... 2023-06-13 C排序文章基础课C语言基础
开关语句switch的几点说明 用途:主要用来解决多层if语句嵌套带来的可读性降低问题。使用:switch(表达式){case 常量表达式1:语句1;.....default :语句n+1;}说明;1.switch后面括号里的表达式可以是数值类型数据;2.当switch表达式的值于某一个case子句中的常量表达式的值相匹配时,就执行次case子句的内嵌语句;3... 2023-06-13 C文章基础课C语言基础
C语言六种“位运算符” C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 右移 1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算... 2023-06-13 C文章基础课C语言基础
单片机C语言快速精度除法方案 目前的51单片机在进行带小数点结果的除法一般可以采用浮点数计算的方式,但是浮点数计算有一个缺点就是非常耗时,在对时间要求严格的工况就不太适用。笔者的工作室长期承接单片机、电路、机电液、工控、自动化、计算机软件等项目,最近做了个单片机计算器的设计,在设计除法时利... 2023-06-13 单片机C语言快速精度除法文章基础课C语言基础
初学者对于C语言中的误区 1. 不能清晰理解“==”运算以及优先级和结核性的含义在判断i,j,k三个变量是否相等时往往会轻率地写出“i == j == k ”这样的表达式并误以为三个变量的值相等时,这个表达式的值为1。然而,这个是错误的。在表达式“i== j == k ”中,这两个==符号... 2023-06-13 初学者C语言误区文章基础课C语言基础
C语言中“:”的使用方法 在C语言中,有一个符号——>“:”,此符号的使用归纳起来有下面三种用法:1:标号识别,用于表示程序的位置。这个在汇编语言中最常用,在C语言中有时也需要用到。比如:LOOP:{//在此处添加相应的C程序}goto LOOP;2:条件运算符——> ? :该运算符是C语言中唯... 2023-06-13 C语言基础文章基础课C语言基础
单片机C语言编程应注意的若干问题 摘 要: 本文较详细地分析了单片机C语言的特点,就单片机系统资源对C语言编程的制约,汇编与C语言混合编程等问题进行进行了讨论,并给出了相应的处理程序。关键词: 单片机;C语言;汇编语言;结构化设计;优化作为一种结构化的程序设计语言,C语言的特点就是可以使你尽量少地对硬件进行操作... 2023-06-13 单片机c语言编程文章基础课C语言基础
如何提高自己的编程能力 差不多在三年前的时候,曾在某个知名论坛发表过一篇类似的文章,当时有很多人留言,同时大家也希望写的更详细一点。后来因为工作忙,就把这件事情给忘记了。前几天翻看博客,突然又看到了那篇文章,也看到了大家的留言,所以决定还是继续写一写。还是先给大家呈上原文,三年前的文章,写的... 2023-06-13 提高编程能力大学生文章基础课C语言基础
C语言的32个关键字 第一个关键字:auto 用来声明自动变量。 可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未... 2023-06-13 C语言关键字总结文章基础课C语言基础
教你几招C语言的高效编程 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。第1招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间... 2023-06-13 C语言编程高效文章基础课C语言基础
几种单片机C语言编译器的语言不同之处 不同:1.由于不同单片机指令集不同, 汇编语言的程序通常很不一样. 2. c语言则是独立与指令集的高级语言,它不受指令集的影响,大部分代码是一致的,不同之处主要是在以下几处:a) 不同单片机的头文件定义不同(即使同一种单片机不同的编译器里也可能不同).所以相应的端口,寄存... 2023-06-13 C语言编译器文章基础课C语言基础
秒杀C语言重要基础——9条语句 学习C语言最基础的知识点要数9条语句了,虽是基础内容,但用9条语句却可以实现很多功能。看了下面的每条语句的一一举例后,你就会觉得其实9条语句很简单,也不过如此。下面是C语言一个基本的输入输出函数printf和scanf函数的用法:#include //头文件包含,把头文件stdio.h的内容全部... 2023-06-13 C语言文章基础课C语言基础
C语言指针学习总结分析 c语言是一种简洁高效的程序开发语言,它在嵌入式开发应用领域有着广泛的应用。从大一接触c语言到现在算起来也有七八年的时间了,如果你问我追喜欢c语言的什么,我会说告诉你--指针,我认为c语言之所以强大就是因为它拥有指针,利用指针,理论上来说你可以访问所有的数据(广义数据,包括... 2023-06-13 C语言指针学习总结文章基础课C语言基础
C语言程序设计之const关键字解析 const,英文单词意思是:常量,常数的意思,初学者看到const这个关键字会想到常数,其实不然,const关键字定义的是变量,一个不能改变的变量,这里有点儿绕,让我慢慢给你解释,你就会明白什么是不变的变量。下面来看关键字const的用法1、const的普通用法const int n = 10;意思很明显,n是一个... 2023-06-13 C语言程序设计const关键字文章基础课C语言基础
C55x C语言基本特性之关键字 1. constC55x C编译器支持标准C语言的const关键字。将这个关键字使用到对任意变量或数组的定义上可以确保它们的值不改变。如果定义一个对象为const,那么const段就会为该对象分配存储空间。使用const关键字可以定义大常数表并将它们分配到系统ROM中。2. ioportC55x C编译... 2023-06-13 C55xC语言基本特性关键字文章基础课C语言基础
C55x C语言基本特性之数据类型 C55x C语言支持的数据类型有17种,具体的可以查看技术手册。在定义各种数据类型时,应注意如下规则:(1)避免设int和long为相同大小。(2)对定点算法(特别是是乘法)尽量使用int数据类型。用long类型作乘法操作数会导致调用运行时间库(run-time library)的程序。(3)使用int或unsigned int类... 2023-06-13 C55xC语言据类型文章基础课C语言基础