• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






博仔JT

个人网站:恩享网:http://www.enxiang.icoc.cc/
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2013年5月13日

中断服务程序经常出现的错误
摘要: 1、ISR不能有返回值2、ISR不能有参数3、不要在ISR中做浮点运算。4、printf一般有重入和性能问题,一般不要在ISR中使用。更多嵌入式linux及编程学习交流的文章,请访问我的个人网站”恩享网” :http://www.enxiang.icoc.cc,期待与您共同进步。 阅读全文
posted @ 2013-05-13 21:43 projim 阅读(196) 评论(0) 推荐(0)
 
#define的优点/volatile的好处
摘要: #define的优点1、方便程序的修改,提高效率。2、提高程序运行的效率:函数的调用需要保留现场,花费时间,而#define宏定义是在预处理阶段就将宏展开,执行时不需要转换,所以执行效率高。volatile的好处:volatile表示的含义是变量的值可能在运行过程中被意想不到的改变,通过此声明,每次用到这个变量时都会重新去读取这个变量的值而不是使用保存在寄存器里面的备份。用在以下场合: 状态寄存器、一个中断服务子程序会访问到的非自动变量、多线程应用中被几个任务共享的变量。更多嵌入式linux及编程学习交流的文章,请访问我的个人网站”恩享网” :http://www.enxiang.icoc.c 阅读全文
posted @ 2013-05-13 21:40 projim 阅读(494) 评论(0) 推荐(0)
 
大小端判断及相互转化
摘要: //小端转化为大端,。。大端转化为小端也是一样的。#include int main(){ int i = 0x11223344; char * a = (char *)&i; char s; int j; printf("Little Endian:\n"); for (j = 0; j int main(){ int i=0x12345678; if(*(char *)&i=0x12) //低字节做与运算 printf("big endian");\ else if(*(char *)&i==0x78) printf(&quo 阅读全文
posted @ 2013-05-13 20:56 projim 阅读(304) 评论(0) 推荐(0)