一直困扰我的数据手册问题。
当初步看完一个数据手册的时候,似乎是看懂了。但是对于怎么样利用数据手册编程还是有点困难的。现在时序问题感觉不惧怕了。但是就拿MCP2510来说,
我不知道 1:如何编写程序的数据结构。数据结构里应该包含哪些信息。
2:不能很明确的知道哪些寄存器需要写入到程序里。哪些信息需要写到程
序里。
3:不知道该怎么样定义所需要的变量。要我的话就是想到啥就定个啥。
反正整个程序的轮廓在脑子里没有。也许有些人会说先画个框架或流程图。但如果画不出来咋办?
谁有自己的心得体会或者技巧可以分享一下吗?
起哄的或者与此话题无关的就不要发言了呵呵。。。。。 先带头起个哄:lol 这个嘛,传说中的“从上到下”“从下到上”“从整体到部分”“从部分到整体”……
其中,从部分到整体是最容易的方法。画不出整体框图可以先画局部框图;局部框图也画不出可以先画单一功能框图;如果单一功能也画不出……去对着镜子画眉毛,心情好了可能就能画出图来了:loveliness: 可以先找demo…… 先看DEMO,理解后再修改。调试成功后,就属于自己的东西了。 本帖最后由 许世霞 于 2009-12-10 08:18 编辑
呵呵。。。那个起哄的破孩儿,罚款,给我把你的427分全部给我哈哈。。。;P
呵呵。。。开个玩笑。先谢过楼上几位积极配合我的同仁们呵呵。。
很关键的问题:传说中的DEMO怎么找呢?貌似我从来没看见过DEMO?惭愧!!!!!!!!
一般就在百度or谷歌里搜相关例子看看能不能看出破绽就这样。是不是忒笨了点呵呵。。。请指点呵呵 是哪个公司的IC就上哪个网站找。一般来说都有的,就算厂家没有,有些技术网站也有啊。比如你的这个MCP2510,应该是MICROCHIP的CAN控制器吧,在MICROCHIP的网站上找应用手册。http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011806 6# 许世霞
太狠了!我混了好几年才混到这么点,就这样……没了!MINBULIAOSHENG啊!!!:$ LS多灌水。。。 网上找的——MCP2510与F149-SPI接口的CAN实现程序 许mm终于进了一步了.
我的观点是抄datasheet...
比如:此模块有2个寄存器,32bit,一个是a,另一个是b.
#define REG unsigned int
struct module
{
REG a; // a的功能是****
REG b; // b的功能是****
};
struct module* pModule = 0x**********;
pModule->a = 0x*********;// 初始化寄存器1
......................................
省略若干.
如果你把datasheet详细的展现在代码里了,你的代码是最优秀的. 给你个吧!
typedef struct {
unsigned int rxfsid;//验收滤波设置:6个
unsigned int rxmsid;//验收屏蔽设置:2个
BYTE cnf1; //位定时器设置CNF1
BYTE cnf2; //位定时器设置CNF2
BYTE cnf3; //位定时器设置CNF3
BYTE caninte; //中断时能寄存器
}CAN_STRUCT; /*控制寄存器结构*/
typedef struct {
BYTE length; //数据帧长度,data字节数
BYTE id; //ID
BYTE data; //数据
} MSG_STRUCT;
妹子,有啥问题就尽管说!你可以参照我那个语音程序,里面有个oprcan.c、oprcan.h,可以直接拿来用!
我看你把我的语音电路都发上来了,程序你应该也有吧! 第一个结构体是初始化滤波器用的
第二个结构体是消息帧格式 呵呵。。我对我发的这几个帖子都不抱希望,所以好几天没看,竟然有惊人的发现呵呵。。
alamo2009大哥,真是不好意思呵呵。。。。现在好内疚呵呵。。。。对不起你。
icecut你小子呵呵。。。恩,你的话我记住了,这个方法挺好的。呵呵。。。 84335262也非常谢谢你呵呵。。。。谢谢你们的帮助,我很感动呵呵。。 ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................!!!!!!!!!!!!!!!!!!!!!!!!!!!! 应该芯片厂商的网站上就有demo code的。 许MM,我是半年没有上21IC了,你也工作1年了把,看你说的你进步不快啊。。。
根据你说的,最好最快的办法,找一个比较标准规范的整个项目代码来,看别人怎么做的,可以学习他们是怎么写成高质量的代码的,再结合代码规范,要求学习。至于具体跟芯片有个的寄存器那就看你用到什么功能再具体研究,现在是互联网时代,除非你是真正所谓“研究”,如果你这是用芯片CPU做下应用而已,上网找例子,就知道那些寄存器要用到。。。。 然后自己消化掉。datasheet相当一本书,需要就去看一下,可以多看,也可以少看。
页:
[1]