许世霞 发表于 2009-12-9 16:53

一直困扰我的数据手册问题。

当初步看完一个数据手册的时候,似乎是看懂了。但是对于怎么样利用数据手册编程还是有点困难的。
      现在时序问题感觉不惧怕了。但是就拿MCP2510来说,
      我不知道 1:如何编写程序的数据结构。数据结构里应该包含哪些信息。
                  2:不能很明确的知道哪些寄存器需要写入到程序里。哪些信息需要写到程
                     序里。
                  3:不知道该怎么样定义所需要的变量。要我的话就是想到啥就定个啥。
      反正整个程序的轮廓在脑子里没有。也许有些人会说先画个框架或流程图。但如果画不出来咋办?
      谁有自己的心得体会或者技巧可以分享一下吗?

   起哄的或者与此话题无关的就不要发言了呵呵。。。。。

84335262 发表于 2009-12-9 19:36

先带头起个哄:lol

84335262 发表于 2009-12-9 19:40

这个嘛,传说中的“从上到下”“从下到上”“从整体到部分”“从部分到整体”……
其中,从部分到整体是最容易的方法。画不出整体框图可以先画局部框图;局部框图也画不出可以先画单一功能框图;如果单一功能也画不出……去对着镜子画眉毛,心情好了可能就能画出图来了:loveliness:

mohanwei 发表于 2009-12-9 19:56

可以先找demo……

andy2003hu 发表于 2009-12-9 19:58

先看DEMO,理解后再修改。调试成功后,就属于自己的东西了。

许世霞 发表于 2009-12-10 08:17

本帖最后由 许世霞 于 2009-12-10 08:18 编辑

呵呵。。。那个起哄的破孩儿,罚款,给我把你的427分全部给我哈哈。。。;P
呵呵。。。开个玩笑。先谢过楼上几位积极配合我的同仁们呵呵。。
很关键的问题:传说中的DEMO怎么找呢?貌似我从来没看见过DEMO?惭愧!!!!!!!!
一般就在百度or谷歌里搜相关例子看看能不能看出破绽就这样。是不是忒笨了点呵呵。。。请指点呵呵

andy2003hu 发表于 2009-12-10 09:33

是哪个公司的IC就上哪个网站找。一般来说都有的,就算厂家没有,有些技术网站也有啊。比如你的这个MCP2510,应该是MICROCHIP的CAN控制器吧,在MICROCHIP的网站上找应用手册。http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011806

84335262 发表于 2009-12-10 15:01

6# 许世霞
太狠了!我混了好几年才混到这么点,就这样……没了!MINBULIAOSHENG啊!!!:$

andy2003hu 发表于 2009-12-10 15:23

LS多灌水。。。

84335262 发表于 2009-12-10 15:23

网上找的——MCP2510与F149-SPI接口的CAN实现程序

icecut 发表于 2009-12-10 17:09

许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详细的展现在代码里了,你的代码是最优秀的.

alamo2009 发表于 2009-12-10 18:50

给你个吧!
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 发表于 2009-12-10 18:51

第一个结构体是初始化滤波器用的
第二个结构体是消息帧格式

许世霞 发表于 2009-12-12 13:45

呵呵。。我对我发的这几个帖子都不抱希望,所以好几天没看,竟然有惊人的发现呵呵。。
alamo2009大哥,真是不好意思呵呵。。。。现在好内疚呵呵。。。。对不起你。

icecut你小子呵呵。。。恩,你的话我记住了,这个方法挺好的。呵呵。。。

许世霞 发表于 2009-12-12 14:03

84335262也非常谢谢你呵呵。。。。谢谢你们的帮助,我很感动呵呵。。

jxb163 发表于 2009-12-14 09:49

......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................!!!!!!!!!!!!!!!!!!!!!!!!!!!!

xxxmcu_com 发表于 2009-12-16 10:17

应该芯片厂商的网站上就有demo code的。

db10 发表于 2009-12-18 11:56

许MM,我是半年没有上21IC了,你也工作1年了把,看你说的你进步不快啊。。。
根据你说的,最好最快的办法,找一个比较标准规范的整个项目代码来,看别人怎么做的,可以学习他们是怎么写成高质量的代码的,再结合代码规范,要求学习。至于具体跟芯片有个的寄存器那就看你用到什么功能再具体研究,现在是互联网时代,除非你是真正所谓“研究”,如果你这是用芯片CPU做下应用而已,上网找例子,就知道那些寄存器要用到。。。。 然后自己消化掉。datasheet相当一本书,需要就去看一下,可以多看,也可以少看。
页: [1]
查看完整版本: 一直困扰我的数据手册问题。