
嵌入式驱动开发杂记
文章平均质量分 82
ltshan139
这个作者很懒,什么都没留下…
展开
-
Keil C中如何直接打印char类型变量
Keil C开发中, 如果用%d去打印 char/unsigned char类型变量值, 会出现莫名奇妙的值。 当时在中文网上找了一通,竟然没有solution和合理解释! 由于项目比较急,所以只好用一个临时的办法, 即在char变量前加(int)强制类型转换。后来我同事在keil官方网上找到了答案如下.C51: PROBLEMS USING PRINTF__________原创 2014-03-12 14:09:08 · 4123 阅读 · 1 评论 -
<<深度探索linux操作系统>> 阅读笔记一
前言 2013年底参加了Chinaunix组织的有奖图书阅读活动,并有幸获得了自己想要的<<深度探索linux操作系统>>一书, 作者:王柏生。 由于年底赶项目,读书进度很慢,只看到第二章。 但从这有限的了解中,我能感觉作者在用心编写这本书,很多深奥、晦涩的技术知识点都讲解的很详细。 为了表达对该书的作者的感谢和支持,我会坚持把书读完,然后写一...原创 2014-02-17 16:51:27 · 1459 阅读 · 0 评论 -
多维数组的初始化
同事写了一个三维数组初始化的code, 其大体如下 typedef struct 6 { 7 uint8_t n; 8 uint8_t m; 9 }mipi_clk_ratio; 10 11 static mipi_clk_ratio mipi_clk[2][2][4] = 12 { 13 //CSI 14 {{8,1}, ...原创 2014-12-01 09:56:19 · 9255 阅读 · 0 评论 -
8051 keil 如何支持code size大于64KB的项目
随着项目中的功能不断增加,程序代码size也在不断往上涨,当超过64KB时,就要考虑引入bank进制。在讲如何在现有项目中添加bank功能前,还是先讲讲其存在的背景吧。8051是基于哈佛的体系架构。 code memory是16位寻址,data memory是8位寻址。 这样分开寻址的特点适合比较的固定,且比较小的固化程序,而且稳定性相对较强,比如data access不会误指到code指...原创 2015-03-06 14:37:18 · 4461 阅读 · 4 评论 -
c语言中无符号和有符号之间的运算
关于计算机中有符号,无符号数值的表示以及它们之间的运算 是基本知识,但工作这么多年也不敢说完全搞明白透彻。这几天在将知识点进行了一些梳理,并做了一些有意思的试验。 计算机中,数值的表示和运算都是用补码表示的。 正数的补码就是其本身; 负数的补码则是最高符号位为1,其余位取反加1. 比如-5表示为0xFFFB, 而5则表示为0x0005。这里,第一个需要注意的问题就是 有符号数和无符...原创 2015-04-03 23:22:45 · 2935 阅读 · 0 评论 -
keil中 如何解决warning L13:Recursive call to Function 及overlay解释
最近遇到一个比较奇怪的link warning原创 2014-06-20 14:09:43 · 10870 阅读 · 3 评论 -
数组名作为变量使用时需要注意的陷阱
上周做项目时,在利用sizeof(数组名)求数组大小时原创 2014-07-07 11:25:28 · 925 阅读 · 0 评论 -
keil对数值常量 缺省处理都是int型吗?
书上都说原创 2014-05-29 15:25:40 · 1978 阅读 · 0 评论 -
Keil51中const的概念
在软件开发中 const是一个非常常见的type原创 2014-04-17 16:48:33 · 5758 阅读 · 2 评论 -
非阻塞赋值的内部延时和外部延时
学习verilog有一段时间了,从字面上理解,阻塞和非阻塞的区别很直白。 前者是串行,主要用于描述组合逻辑,和软件中的赋值类似;后者是并行,主要用于描述时序逻辑。但是和内部延时、外部延时混用在一起的时候,各种意想不到的情况就会发生。下面将介绍,对于非阻塞赋值,内部延迟和外部延迟造成的结果就截然不同。例1: 假设在5ns时刻pclock上出现一个正跳变沿;而current_state在...原创 2015-07-29 17:01:22 · 6169 阅读 · 2 评论