- 博客(8)
- 资源 (2)
- 收藏
- 关注
转载 C语言中数据对齐、结构体和共用体
数据对齐的目的,是用空间换时间,提高效率.对齐本身并不难理解,但是有这么一个古怪的命令#pragma pack()存在,它可以人为指定按几个字节来对齐.有了这个命令,就让情况变得更加复杂了.网上有很多#pragma pack()命令的使用方法总结,但我不认为这个命令是必要的,应该尽量避免使用.如果你的代码里使用了#pragma pack(),会导致sizeof()取得预料外的值,导致程序出错.这个...
2017-11-07 10:47:56
409
原创 单链表的逆置\反转,单链表的排序升序,单链表排序降序
1、单链表的逆置先做一个p1->p2->p3,然后让p2->p1,再p1=p2,p2=p3向右循环node * reverse(node %head){node * p1,*p2,*p3; if(head==NULL||head->next==NULL)return head;p1=head; head=p1;p2=
2016-12-02 14:51:23
3839
原创 建STM32工程注意事项
如何添加一个新功能:1例如加入can,先将can.c添加到工程里。main.c中需要包含#include “can.h”。2. stm32f10x_conf.h需要将//#include "stm32f10x_can.h"前面的反斜杠去掉,就是将其包含进来。3在中断函数stm32f10x_it.c里,需要添加原先can自己的中断函数void USB_LP_CAN1_RX0_IRQHan
2015-12-28 18:59:50
457
原创 C语言中位操作,左移右移
一、位操作方法(1)将char型变量a的第7位(bit6)清零,其他位不变。a&=~(1(2)将char型变量a的第7位(bit6)置1,其他位不变。a|=(1(3)将char型变量a的第7位(bit6)取反,其他位不变。a^=(1二、同或C语言中异或有专门的操作符^,比如int a,b,c,d;c=a^b;,则表示c是a与b异或的结果。C中虽然没有同或操作符,
2015-12-14 18:55:39
3041
原创 P-MOS管做开关管用
用的P-MOS管子为AOD403/AOI403。当VgsVg,管子导通。S点的电压会传到D点。(1)若Vs=0,Vg=Vd=12V。烧管子。当时我们想,当Vg点的电压大于Vs点的电压,管子就会关掉。但是实际情况是,当g点给12V,s点给0v,管子会关掉,但是当d点电压为12v时,由于管子内部电阻很小,管子就烧坏了。(2)若Vg=0v,Vs点加的电压由3.3v降到0v,Vd点的电压也
2015-11-30 18:17:16
15179
原创 STM32中GPIO_ReadOutputDataBit及GPIO_ReadInputDataBit区别;上拉输入_IPU,下拉输入_IPD,模拟输入_AIN ;开漏输出_Out_OD, 推挽输出_O
STM32中GPIO_ReadOutputDataBit及GPIO_ReadInputDataBit区别;上拉输入_IPU,下拉输入_IPD,模拟输入_AIN ;开漏输出_Out_OD, 推挽输出_Out_PP ,复用功能的推挽输出_AF_PP,复用功能的开漏输出_AF_OD。一,GPIO_ReadOutputDataBit及GPIO_ReadInputDataBit区别简单来讲:GPIO
2015-10-31 11:28:51
39166
9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人