-
同意楼上的观点
-
咳,差异化区别啊,社会现实啊
-
这个建议还是硬着头皮看英文的,习惯datasheet的表达方式,熟悉了内容框架和一些基本术语的表达方式以后,看起来不费劲了。
翻译的版本表达的方式很多都有问题,而且缺乏官方的严密性,一旦出现疏漏没有人会负责任的。
-
路过
-
楼主你是使用USB串口线的?
-
楼上的建议不错。
-
如果你的RAM足够,malloc是可以用的。
ADS 编译器在编译 C 语言的程序时,如果程序中使用了 main 函数,则编译器将自动添加如下代码,完成初始化堆栈和C库等工作,
工作流程如下:
1> 将执行文件中的 RO 段和 RW 段从 load address 复制到 execution address
2> 初始化 ZI 区域,用 0 来初始化变量
3> 跳转到 __rt_entry 执行如下 4 个调用
3.1> 调用 __rt_statckheap_init ,建立程序的堆和栈
3.2> 调用 __rt_lib_init ,初始化程序用到的 C 库,并为 main 传递参数
3.3> 调用 main ,即用户程序的入口
3.4> 调用 exit
-
写单片机程序也是程序,也要遵循写软件的一些基本原则,不是为了完成功能那么简单。我看过的所有的C语言单片机书籍基本都不注重模块化思想,完全是拿着C当汇编用,简直是在糟蹋C语言!
如下问题,几乎所有的单片机书籍中都大量存在(更别说网上的和现实中的代码了,书上都写的那么差劲,学的人能好到哪里去):
1、变量到处定义,根本不管变量的生命周期是否合适(请回答:全局变量、局部变量、静态变量、volatile变量有什么区别联系?)
2、变量名称极不规范,根本从名字上看不出来这个变量类型是什么,到底想干什么。
3、函数定义几乎不用参数,全都是void
4、语句写的一点都不直观,根本就是在用汇编。比如:想取一个字长的高字节和低字节,应该定义一个宏或是函数来做,如#define HIBYTE(w) ((BYTE)((DWORD)(w) >> 8)),以后直接用HIBYTE()多直观,难道非得用(BYTE)((DWORD)(w) >> 8)代表你的移位操作的水平很高吗?
5、最重要的一点,没有建立模块化的编程思想。一个程序往往要很多部分协同工作,需要把不同的功能分离出来单独创建一个.h和.c的文件,然后在头文件中把可以访问的函数暴露出来。
6、不思考曾经做过的程序是否还有改进的余地,写程序如果只是为了写而写,一辈子也长进不了多少
不要那么说话,你刚学的时候,书中写的对你来说是可能是天文,现在你学会了,难到你一学你就成为现在,没什么现在所有的高手包括现在的专家。。。。都是从这样学到的。照你说人类以后不要小学了1+1谁不懂
-
检查模块的口是否支持改口的GPRS拨号。 其次检查是否DataPort配置正确
-
研究!
-
嗯,是过于频繁了。锁存的数据不起作用,两个锁存之后加几十ms级的延时,就应该会正常。
-
telnet和http,这两种“硬件设备控制方式”我怎么都不知道?
-
赞一个 C_Rabbit
-
那我只有使用GPIO来模拟PC卡的操作了,这个样做很麻烦的。哪位还有更好的方法
?
-
能具体说说吗?我找了半天都没找着,如何设置Minicom下的串口信息显示的
-
经典 酷! crystal2k
-
没有遇到过,观注ing…
-
贵啊,浪费
-
网上我也看到有人说要把字库文件加到/windows目录下面的。
但我觉得这个做法和我的需求是不一致的。
因为这样加的话,机器重启后,又恢复了。
现在我重新编译nk后,在/windows目录下面有tahoma.ttf
和simsun.ttc。但没有我编译的MSDHJ.TTF
按照我以前添加驱动的理解。应该在/windows下面有个MSDHJ.TTF才说明我已经添加进nk了是吧!
求解了。
-
嗯,跟硬件有关系,这是必然的。我现在手头上的硬件是可以支持多层显示,就是想了解多层显示是否也跟wince有关系的。我听说WINCE显示中只有一个FIFO处理图像,如果要显示两个图层似乎是处理不过来?是否是这样的?有哪位大侠知道的 不胜感激