03 2024 档案
摘要:unsigned char channelNum=49; 则编译器会将ASCII码49存入变量channelNum,实际channelNum表示字符1,所以下次如果以%c形式打印出来,则输出1。 e.g: 查看代码 unsigned char channelNum=49; #include"bsp_
阅读全文
摘要:在 C 语言中,四则运算可能导致数据类型的转换,这种转换称为隐式类型转换。以下是一些常见的数据类型转换情况: 1. 整数提升:当不同大小的整数类型(如 `char`、`short`、`int`、`long`)进行混合运算时,较小的操作数会被提升为较大的类型,以便进行运算。例如,`char` 类型的操
阅读全文
摘要:%d或%i 有符号十进制整数%u 无符号十进制整数 %ld 有符号长整型(long signed)%lu 无符号长整型 (long unsigned) %c 字符%s 字符的字符串 %f 十进制浮点数%lf:双精度浮点数 // 分 隔 符 %x:无符号十六进制整数(小写字母) %X:无符号十六进制整
阅读全文
摘要:sprintf函数是C语言中用于格式化输出到字符串的函数。它的原型如下: int sprintf( char *buffer, const char *format, [ argument] … ); str:指向存储输出结果的字符数组的指针。 format:格式化字符串,包含要输出的文本和格式说明
阅读全文
摘要:同一代码始终编译不过,一直提示关于ds1302文件的这两个函数有问题 检查了半天都没检查出来问题。 最后发现是因为 我D盘里这个hardware文件夹和system文件夹里都存在ds1302.h,ds1302.c文件,我服了,这样也会出错。
阅读全文
摘要:十进制到BCD: #include <stdio.h> int main() { int decimalNumber = 35; // 要转换为BCD码的十进制数 int tens = decimalNumber / 10; int ones = decimalNumber % 10; // 将十位
阅读全文
摘要:点击跳转 Q:下划线命名法要求首字母大小写吗A:通常要求所有字母都小写,并使用下划线 _ 来分隔单词。这种命名风格通常用于变量名、函数名等标识符的命名。
阅读全文
摘要:if (3 < keyDown && keyDown < 14) { // Your code here } 可以写成 if (3 < keyDown < 14 ) { // Your code here }吗 答案:不能,因为在C语言中,if ( 3 < keyDown && keyDown <
阅读全文
摘要:对于需要实时处理的代码语句 就用定时器中断模式,实现多线程模式,建议不要用查询模式。 示例代码1: 查看代码 #include"delay.h" #include"sysInt.h" #include"intrins.h" char SMGDuan[]={0x5B,0x3F,0x5B,0x66, 0
阅读全文
摘要:在十六进制表示中,前导零指的是位于十六进制数值的最高位数字前面的零。这种零的存在主要是为了表示数值的位数,并不会改变数值本身。下面详细解释十六进制数的前导零: 位数表示:在十六进制中,每位数字对应 4 个二进制位(也称为 4 个比特)。因此,一个十六进制数的每一位可以表示 0 到 15 的十进制数。
阅读全文
摘要:示例代码1:10进制转16进制 查看代码 #include<stdio.h> void dec2hex(int n) { if(n>15) dec2hex(n/16); if(n%16 < 10) printf("%c",n%16+'0'); else printf("%c", n%16+55);
阅读全文
摘要:定时器中断方式: 跑一遍后溢出,TFx由硬件自动清零了,所以在中断服务函数中就不用多此一举中断标志位TFx=0了。 我们也不需要在中断服务函数里写TRx=1,因为中断一开启只要不另外暂停(TR0=0;),它本身就是像多线程一样一直在运行。 TMOD=0X01; 对模式的设置,中断服务函数里不用再写这
阅读全文
摘要:在C语言中,内循环和外循环是指嵌套循环中的两个不同级别的循环。通常情况下,我们希望尽量保持外循环次数少,因为外循环的执行次数通常决定了整体算法的复杂度。如果外循环的次数过多,程序的执行效率可能会受到影响。 void delayMs(uint xms) //@12.000MHz { xms=xms/1
阅读全文