This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TMS320F28379D:TMS320F28379D

Guru**** 2578945 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/648071/rtos-tms320f28379d-tms320f28379d

器件型号:TMS320F28379D

工具/软件:TI-RTOS

尊敬的支持人员:

我有一个带有 RTOS 的小型程序(CCS 7.2、TI v16.12.0、XDCtools 3.32.2.25内核)

程序应通过 SCIC 与 PC 进行通信。 环回工作正常。(中断工作)、没有 RTOS 也工作正常(我从 PC 数据发送、它产生 RX 中断)

通过 RTOS ( 不带环回)从 PC 数据发送不会产生 RX 中断。 我用相同的波特率配置了 PC 和 DSP

我的设置为:

void scic_fifo_init ()

ScicRegs.SCICCR.ALL = 0x0007;

ScicRegs.SCICTL1.ALL = 0x0003;

ScicRegs.SCICTL2.bit.TXINTENA=1

ScicRegs.SCICTL2.bit.RXBKINTENA=1

ScicRegs.SCIHBAUD.ALL = 0x0000;

ScicRegs.SCILBAUD.ALL = SCI_PRD;

ScicRegs.SCICCR.bit.LOOPBKENA=0

ScicRegs.SCIFFTX.ALL = 0xC022;

ScicRegs.SCIFFRX.ALL = 0x0022;

ScicRegs.SCIFFCT.ALL = 0x00;

ScicRegs.SCICTL1.ALL = 0x0023;

ScicRegs.SCIFFTX.bit.TXFIFORESET = 1;

ScicRegs.SCIFFRX.bit.RXFIFORESET = 1;


 

这里有什么问题?

如果中断在回送中工作-它也应该在没有中断的情况下工作!

 

我的配置文件为:

var hwi0Params = new hwi.Params();

hwi0Params.instance.name ="ISR_PhysicalLayer_Tx_Handle"

hwi0Params.enableInt = true

program.global.ISR_PhysicalLayer_Tx_Handle = Hwi.create (93、"&ISR_PhysicalLayer_Tx"、hwi0Params);

var hwi1Params = new hwi.Params();

hwi1Params.instance.name ="ISR_PhysicalLayer_RxA_Handle"

hwi1Params.enableInt = true

program.global.ISR_PhysicalLayer_RxA_Handle = Hwi.create (92、"&ISR_PhysicalLayer_RxA"、hwi1Params);

boot.SPLLIMULT = 40;

bios.cpufreq.lo = 200000000;

BOOT.SYSCLKDIVSEL = 1;

 

谢谢、Sabina

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这似乎是此主题的延续:
    e2e.ti.com/.../647288
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否正在使用 LaunchPad?

    它只是缺少的 RX 中断、对吧? 您是否仍然能够成功地将数据传输到 PC? 您能否确认波特率正确?

    惠特尼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的惠特尼:

    是的,我没有获得 RX 中断,断点在 TX 上停止,但我在范围上看不到任何内容。 所有寄存器和中断都正确设置。 这似乎是 RTOS 问题

    /cfs-file/__key/communityserver-discussions-components-files/171/test1.zip

    请参阅随附项目。 很奇怪、我在示波器 TX 数据上看不到中断发送的数据。

    波特率正确(在没有 RTOS 的情况下运行相同的配置非常好)

    谢谢、Sabina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sabina、

    在.cfg 文件中,您的引导模块代码看起来会将 SYSCLK 乘法器配置为40,但随后调用 InitSysCtrl(),它会将乘法器设置为20。 您打算使用哪一个? 此外、如果您使用的是 LaunchPad、则需要将_LAUNCHXL_F28379D 添加到预定义符号中、以获得200MHz SYSCLK (因此获得正确的波特率)。

    惠特尼