- 博客(9)
- 收藏
- 关注
原创 c 整型提升和算数转换
相关概念说明: 1:整型提升如果char、short int或者int型位段(bit-field),包括它们有符号或无符号变型,以及枚举类型,可以使用在需要int或者unsigned int的表达式中。如果int可以完整表示源类型的所有值,那么该源类型的值就转换为int,否则转换为unsigned int。这称为整型提升。2:寻常算术转换许多操作数类型为算术类型的双目运算符会引
2014-11-07 16:35:58 904
原创 C和指针第四章编程练习题小结2
scanf输入字符串 遇到空格等就会停止输入。所以最好用gets()函数: gets(src);同样printf输出字符串的方式printf("%s\n",src); src为存储字符串的数组名 假如dst数组只从src中复制10个字符。若src输入大于10个字符,则直接用printf会出错。因为以字符串格式输出,必须等到出现’\0’才会结束。如果复制的时候,没有将’\0’复制
2014-11-05 20:08:46 491
原创 C和指针第四章编程练习题小结1
// while(((a-b)>0.0001) || ((b-a)>0.0001) ) while(a!=b )因为浮点本身的精度问题,可以有后面的程序代替前面的程序 void main(){ intpci = 0; intn; inti;
2014-11-04 21:43:21 685
原创 4*4键盘程序代码 基于STM32
4*4键盘程序代码 基于STM32 这是自己写的扫描第一行按键的程序代码。PE的位8~位11设置为下拉输入。PE的位12~位15设置为推挽输出其中PE的位11是4*4键盘的第一列,PE的为键盘的第一行。先将第一行设置为高电平,检测列中是否有高电平u8 KEY_Scan(u8 mode){ staticu8 key_up=1;//按
2014-10-31 20:13:59 7284
原创 stm32中ADC初始化程序
void Adc_Init(void){uint32_t tmpreg1 = 0;GPIO_InitTypeDef GPIO_InitStructure;//时钟设置RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_ADC1, ENABLE ); //使能ADC1通道时钟RCC_ADCCLKC
2014-10-23 21:35:04 8495
转载 assert_param()的使用
如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义,在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。
2014-10-22 20:59:49 571
原创 C学习笔记:变量作用域、链接属性、存储类型
从C和指针中摘抄出来的。 1: 作用域作用域决定程序中该标识符可以被使用的区域。 编译器可以确认四种不同类型的作用域:代码块作用域,函数原型作用域,文件作用域,函数作用域。 1.1代码块作用域 代码块是包含在开始花括号和对应的结束花括号中的一段代码。代码块中定义的变量具有代码块作用域(block scope)。
2014-10-21 21:14:00 706
原创 UC/OS学习笔记-资源同步
1:相关概念共享资源:被两个以上的并发程序单元(任务或ISR)访问的资源。共享资源一定是全局变量。 若共享资源具有只读特性,则不需要采取资源同步措施。各个任务可以任意交叉嵌套地对资源进行读取。 2:资源同步可以划分为两种情况 访问共享资源的并发程序中含有ISR。 访问共享资源的并发程序中只有任务。 2.1含有ISR 此类必须采用
2014-10-20 21:41:17 593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人