永发信息网

求问高手,我给DSP i/o连续写数据时为什么要加延时??

答案:2  悬赏:80  手机版
解决时间 2021-03-05 08:59
  • 提问者网友:不爱我么
  • 2021-03-04 18:29
最近在学DSP,芯片是TMS320F28335,有一点就搞不明白,我连续给某个I/O口写数据时每次写完为什么要加延时才能正确写入数据,如下:

LED1=1;
DELAY_US(10);
LED2=1;
DELAY_US(10);
LED3=0;
DELAY_US(10);
LED4=0;
DELAY_US(10);
LED都分别对应了4个GPIO口,方向为输出,为什么不能像单片机那样直接LED1=LED2=LED3=LED4=1;(试过这样无法正确写入数据)
求解惑

楼下说与编译环境有关,我的CCS版本是V4.1.2,求合适的版本
最佳答案
  • 五星知识达人网友:神的生死簿
  • 2021-03-04 19:15
与DSP IO口本身的结构有关,具体记不住了,TI的规格书讲通用IO的Datasheet提到过,对IO口操作不建议用直接赋值的方法,而是用寄存器置高与清零指令。举例;GpioDataRegs.GPACLEAR.bit.GPIO21 = 1,为GPIO21口输出低电平,GpioDataRegs.GPASET.bit.GPIO21 = 1,为输出高电平
全部回答
  • 1楼网友:毛毛
  • 2021-03-04 20:19
与你的编译环境有关,CCS的版本 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯