首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

28335 SCI 通信

28335 SCI 通信

用的是SCI-B,问题是无法进入接收中断,接收引脚上有数据。

程序如下 :
  • EALLOW ;
  • GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 0 ;
  • GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 0 ;
  • GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 0 ;
  • GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 0 ;
  • GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 2 ; //设置为CAN总线,而不是SCI-B
  • GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 2 ; //设置为CAN总线,而不是SCI-B
  • GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 3 ;  //设置SCI-B引脚
  • GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 3 ;  //设置SCI-B引脚
  • EDIS ;
  • ScibRegs.SCICCR.all = 0x07; //1位结束位,无奇偶校验,8位数据位
  • ScibRegs.SCICTL1.all = 0x03; //使能transmitter和receiver,禁用sleep,屏蔽接收错误中断,复位SCI
  • ScibRegs.SCIHBAUD = 0;
  • ScibRegs.SCILBAUD = 80 & 0x00FF; //波特率=37500000/((80+1)*8)=57870
  • ScibRegs.SCICTL2.all = 0x0002; //起用Receiver-buffer  interrupt,禁用SCITXBUF-register interrupt
  • ScibRegs.SCICTL1.all = 0x0023; //停止复位SCI
  • PieVectTable.SCIRXINTB = &SCI_RX_ISR; //SCI接收中断处理程序
  • PieCtrlRegs.PIEIER9.bit.INTx3 = 1;  // SCIB接收中断使能
  • IER |= 0x0100;          // enable PIEIER9, and INT9
  • EINT;
  • ERTM;//全局中断使能
继承事业,薪火相传
返回列表