- 博客(7)
- 收藏
- 关注
转载 C语言中的回调函数实例
在C语言中一般用typedef来为回调函数定义别名(参数名)。 别名通过宏定义typedef来实现,不是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char *pa,pb;//pa是一个char型指针,但pb是一个char型字符。我们可以这样来实现typedef char* PCHAR;PCHAR pa,pb;//pa和pb都是char型指针先看一个回调函数的例子:
2015-02-02 09:01:28
460
原创 C语言中的结构体对齐
@字节对齐(http://blog.youkuaiyun.com/zkf11387/article/details/7662450)1设结构体如下定义:struct A { int a; char b; short c;};sizeof(strcut A)值为8。int char
2015-01-30 16:58:53
401
原创 C语言指针、指针函数与函数指针、指针数组与数组指针
@指针一个基本的数据类型(包括结构体等自定义类型)加上“ *”号就构成了一个指针类型的模子。这个模子的大小是一定的,与“ *”号前面的数据类型无关。“ *”号前面的数据类型只是说明指针所指向的内存里存储的数据类型。所以,在 32 位系统下,不管什么样的指针类型,其大小都为 4 byt e。int *p = NULL——1 和*p = NULL——2 有什么区别?1中
2015-01-30 16:47:06
444
原创 sprintf简单用法
一、sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代itoa。如:1、//把整数123 打印成一个字符串保存在s 中。sprintf(s, "%d", 123); //产生"123"2、可以指定宽度,不足的左边补空格:sprintf(s, "%8d%8d", 123, 4567); //产生: " 123 45
2015-01-30 11:17:00
441
原创 STM32 系统时钟设置
1、使用3.5.0的库,系统自动设置为外部时钟8M的时钟,72M工作频率,无需再进行配置。2、若要自定义时钟时不要用SystemInit函数,把启动代码的SystemInit函数注释掉,main函数加这个RCC配置函数Reset_Handler PROC EXPORT Reset_Handler [WEAK]
2015-01-30 10:33:37
701
原创 SYSTICK用法
一、做延时功能用/*以下函数转自原子的程序*/static u8 fac_us=0;//us延时倍乘数static u16 fac_ms=0;//ms延时倍乘数//初始化延迟函数//SYSTICK的时钟固定为HCLK时钟的1/8//SYSCLK:系统时钟void delay_init(u8 SYSCLK){// SysTick->CTRL&=0xf
2015-01-30 09:11:23
3140
转载 STM32串口第一个字节丢失问题的分析过程(转)
最近在调试串口时遇到一个问题,就是STM32串口连续发送一串数据,第一个字节会丢失的问题。STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功,使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失
2015-01-30 08:42:41
2963
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人