学生紧急求救!!!!!! 点击:581 | 回复:1



    
  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 24回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2004年12月17日
发表于:2005-01-27 09:49:00
楼主
学生紧急求教!!!!! IO_8 neurowire master select (IO_2) ioSevenSeg; IO_2 output bit io7SegSelect=1; 初始时未选中 #pragma ignore_notused io7SegSelect struct bcd dspDataReg; unsigned int dspCfgReg; void DspDisplayNumber(unsigned long number,int dpDigit) { dspCfgReg=0xc1; bin2bcd(number,&dspDataReg); dspDataReg.d1=0x80+dpDigit+1; io_out(ioSevenSeg,&dspCfgReg,8); io_out(ioSevenSeg,&dspDataReg,24); } when(1) {DspDisplayNumber(234,2);} 这个程序通过NodeBuilder仿真后可以现示2.34 但是我不明白的是为什么将 IO_2 output bit io7SegSelect=1改成IO_2 output bit io7SegSelect=0也 一样可以实现显示,这不是相当于片选不起作用吗,是怎么对MC14489进行 片选的呢?????



zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2005-01-27 15:47:00
1楼
#pragma ignore_notused io7SegSelect   IO_2 output bit io7SegSelect=1; //初始时未选中   IO_8 neurowire master select (IO_2) ioSevenSeg;   struct bcd dspDataReg;   unsigned int dspCfgReg;   void DspDisplayNumber(unsigned long number,int dpDigit)    {   dspCfgReg=0xc1;    bin2bcd(number,&dspDataReg);   dspDataReg.d1=0x80+dpDigit+1;    io_out(ioSevenSeg,&dspCfgReg,8);   io_out(ioSevenSeg,&dspDataReg,24);    }   when(1)   { DspDisplayNumber(234,2); }   这个程序通过NodeBuilder仿真后可以现示2.34 但是我不明白的是 为什么将IO_2 output bit io7SegSelect=1改成 IO_2 output bit io7SegSelect=0也一样可以实现显示,这不是相 当于片选不起作用吗,是怎么对MC14489进行片选的呢????? 1、spi总线的片选是在多器件的情况下,挂起器件。 spi接口就一个14489 所以 初始化0 1 没有什么区别。 不过还是要为1。。。 2、neurowire对象的 io_out io_in 函数已经将片选操作 放在函数里了。 也就是你看到的现象。不是没有作用,而是 io_out已经在操作开始的时候将对象指定的片选管脚拉低。 数据传送完毕。拉高管脚。。。。 很多人都不知道哇。。。。。。 能发现这个现象 看来您是非常用心哪。。。。。

热门招聘
相关主题

官方公众号

智造工程师