编程思想
知否,知否
世事洞明皆学问
展开
-
提取字符串中数字(C语言实现)
//将字符串中的数字转化为10进制数 TUINT32 Read_DecNumber(const TUINT8* str){ TUINT32 value; if (! str) { return 0; } value = 0; while ((*str >= '0') && (*str <= '9'...转载 2018-07-31 09:22:24 · 7018 阅读 · 0 评论 -
C语言实现整形和字符串互转
1.整形转字符串A.无符号整形数转字符串void Int2Str(u8* str, u32 intnum){ u32 i, Div = 1000000000, j = 0, Status = 0; //32位无符号数最大是10位整数,所以Div=10 0000 0000 for (i = 0; i < 10; i++) { str[...原创 2018-08-07 15:55:06 · 25063 阅读 · 1 评论 -
单片机编程使用C库函数
1.printf函数这个非常简单。只要重定向printf函数即可。这个是STM8L单片机代码,注意:如果是IAR编译器需要开启library-FULL亲测在msp430,stm32,stm8l上均可使用,将1,2替换成对应单片机的函数即可int fputc(int ch, FILE *f)//printf{ USART_SendData8(USART1, (uint8_t) ...原创 2018-03-07 13:46:02 · 2840 阅读 · 0 评论 -
#error 、#warning
#warning 在特定的地方生成一个警告,不会停止编译原创 2018-03-16 14:29:06 · 1326 阅读 · 0 评论 -
C语言结构体内存分配问题
C语言结构体服从以下原则:1.内存对齐1.结构体大小必须是结构体占用最大字节数成员的整数倍,这样在处理数组时可以保证每一项都边界对齐 2.结构体的每一个成员起始地址必须是自身类型大小的整数倍 3.字节对齐取决于编译器,Keil默认4字节typedef struct{ u8 a; u8 b; short c;}STORE_INFO;STOR...原创 2018-08-22 21:17:40 · 6668 阅读 · 0 评论 -
近指针和远指针
1.near指针的长度是16位的,所以可指向的地址范围是64K字节,通常说near指针的寻址范围是64K。char near *p; p=(char near *)0xffff; 注意:此时若执行 p++,那么p=0; 近指针如超过0xffff,会被复位到0;2.远指针是32位指针,它表示段地址:偏移地址,远指针可以进行跨段寻址,可以访问整个内存的地址。如定义远程指针p指向0x1000段的0x2...转载 2018-03-09 14:50:09 · 1743 阅读 · 0 评论