![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序设计
文章平均质量分 66
zbp_uestc
这个作者很懒,什么都没留下…
展开
-
使用STM32的systick定时器中断实现RTC工作过程出错
开发环境:keil MDK V5.10操作系统:windows 7(32位)目标硬件:STM32F10原创 2014-05-05 21:53:37 · 3803 阅读 · 0 评论 -
关于宏、常量及inline函数
首先明确三种的使用方法一.宏宏是使用#define来实现的,主要用法是函数替换----------------------#define dbgprint(format,...) printf (format, ##__VA_ARGS__)定义常量----------------------#define原创 2014-10-30 11:26:25 · 914 阅读 · 0 评论 -
深入了解printf的用法和各类变形之区别
int printf(const char *format, ...); 向默认的标准输出设备按照规定格式输出信息,返回值为打印的字符个数,不包括结束符。例如正常执行printf("1234");printf("%d",1234)返回值都为4,输出失败(没有输出全部字符)则返回负数。int fprintf(FILE *stream, const char *format, ...);向指定的原创 2014-10-30 10:20:29 · 1314 阅读 · 0 评论 -
如何理解STM32引脚中的GPIO,AFIO时钟分配策略和管脚复用
适用COTEX-M3系列的MCU也有两三年的时间了,一直用的是原创 2014-04-29 15:43:52 · 10892 阅读 · 1 评论 -
error 65: access violation at 0x40021000 : no 'read' permission
开发环境:keil MDK V5.10操作系统:windows 7()原创 2014-04-28 21:50:37 · 25253 阅读 · 12 评论 -
全局变量 局部变量 堆 栈
声明:本文为转载,原文地址为http://marycomputer.blog.163.com/blog/static/176058641201110911506102/关于该问题还可以参考另外一篇文章http://www.embedu.org/Column/Column540.htm一般全局变量存放在数据区,局部变量存放在栈区, 动态变量存放在堆区,函数代码放在代码区。 ---------原创 2014-04-11 13:36:45 · 1012 阅读 · 0 评论 -
关于字节对齐和运算顺序优先级的讨论
第一个问题:字节对齐在做一个小型通信系统时,为了方便通信帧解析以及数据存储,通过结构体定义了该数据帧的结构。代码写完之后进行系统调试,一切进展顺利,最后当调试到存储部分时出了问题,通过监视发现通讯帧结构正确但是存储数据始终不正确,经过深入分析发现系统中定义了如下一个结构体HostNode,在存储的时候采用sizeof运算符对HostNode结构体获取长度,按照设计该长度应该为6+2+1=9字节,而原创 2014-04-11 13:35:36 · 640 阅读 · 0 评论 -
MATLAB位运算(转)
出处:http://blog.sina.com.cn/s/blog_53f29119010009qc.html由于matlab中默认的存储方式为双精度,因此,要正确的进行位运算,需要首先将存储方式改为整型。可用的函数int8, int16, int32,uint8, uint16, uint32。转换后即可进行位运算,之前若用format将显示格式改为16进制,可使结果更可读。 format指定显原创 2014-04-11 13:35:38 · 813 阅读 · 0 评论 -
深入理解CORTEX-M3的运算特性
请思考在cortex-M3的指令集下运行以下代码的结果: 代码A unsigned short q = 0; q = (q - 256)/26+1; q = 0; 代码B unsigned short q = 0; q = q-256; q = q/26; q = q + 1; q = 0; 最初我的想法是,对于代码A原创 2014-04-11 13:35:26 · 1455 阅读 · 0 评论 -
深入理解C语言中的堆和栈
几天前做一个测试的时候发现某个变量被赋值以后,无端被修改。这段测试代码大体如下: void test(void) { u16 data[3000] = {0}; u16 cnt = 0; u16 k = 0; for (k = 0; k { get(data + k*100,100);//采集100个数据到数据存储区原创 2014-04-11 13:34:54 · 1026 阅读 · 0 评论 -
if else配对以及格式问题
工作中写过这样一段代码: if((dev.protocal&0xf0)>=0x30)------------------------------------------------------------------条件A if(uart2plc_auto_flood(trace,(my_u8 *)(&seq_n),0x02,F1原创 2014-04-11 13:35:40 · 3282 阅读 · 0 评论 -
C语言对文件的交替读写问题
今天下午的时候调试如下一段代码,一直调试bu原创 2014-04-24 23:28:55 · 2825 阅读 · 1 评论 -
【草稿待续】统一的嵌入式软件编程模型——驱动
对于嵌入式软件编程模型,思考了很久,一直得不到很好的e原创 2014-11-04 11:49:59 · 900 阅读 · 0 评论