作为通过启用 ADC DMA (GIOB0触发器)、SCI Tx、Rx DMA、SCI Tx、Rx 数据包进行检查的结果、 数据包会被 ADC DMA 销毁。
请告诉我如何正确使用它、以便不会发生冲突。
只要不仅使用 GIOB 触发器、SCI Tx 和 Rx 数据包就没有问题。
上传并发送项目文件。
SCI TX 调试模式结果异常(对 ADC DMA 使用 GIOB0触发器)
SCI TX 调试模式结果正常(我没有对 ADC DMA 使用 GIOB0触发器)
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.
作为通过启用 ADC DMA (GIOB0触发器)、SCI Tx、Rx DMA、SCI Tx、Rx 数据包进行检查的结果、 数据包会被 ADC DMA 销毁。
请告诉我如何正确使用它、以便不会发生冲突。
只要不仅使用 GIOB 触发器、SCI Tx 和 Rx 数据包就没有问题。
上传并发送项目文件。
SCI TX 调试模式结果异常(对 ADC DMA 使用 GIOB0触发器)
SCI TX 调试模式结果正常(我没有对 ADC DMA 使用 GIOB0触发器)
感谢你的帮助。
在不对源代码进行任何其他更改的情况下、问题会立即发生。
测试结果表明、当 UART1 sciREG TX、RX 和 GND 通过终端程序(令牌2)连接到 Launchpad TMS57012的 J2和 J3引脚时、将输出0x31、0x32、0x33、0x34、0x35、0x36、0x37、0x38、0x39、0x0d、0x0a 以外的其他值、如问题所示。
在源代码中、必须注释掉以下2行、以便正常输出。 我想知道 SCI 和 ADC 的 DMA 设置是否有任何问题。
gioSetBit (gioPORTB、0U、0U);
gioSetBit (gioPORTB、0U、1U);
[异常 printf ] [普通 printf -已删除2行]
---------------- >
您好、Eun:
代码看起来不错。
gioSetBit (gioPORTB、0U、0U);
gioSetBit (gioPORTB、0U、1U);
这些函数是否在 if (_1msTmr!= 0u)段中调用?
您可以暂停代码执行以检查 DMA CH0设置和 SCITX 寄存器中的值吗?
DMA 控制数据包的基地址是0xFFF80000。
您好 QJ Wang。
如您所说、我使用存储器浏览器检查了该器件的调试结果和周围的 RAM 地址。
总之,已证实 adc2DmaBuf 和 sciDma (sciDmaRxData, sciDmaTxData, sciDmaTxBuf)发生冲突。
指向您提到的0xFFF80000的 DMA_CH0的地址(0x08001708)和 adc2DmaData 的值(0x080016F8)一同移动。
这似乎是一个内存入侵错误,所以我寻找 adcdmaInit (void)设置的问题。
因此、我们确定用于 ELCNT 的通道数量不正确。
正确修正了 DMA 通道数量、并确认其正常工作。
这是一个问题,因为我不能使用它。 感谢你的评分