jwd 发表于 2024-3-15 09:24:43

请问串口DMA在STC32和STC8A8K64D4上还不一样吗?| 已解决

如题,我在STC8A8k64D4上面的串口DMA程序放到STC32上编译出错

神农鼎 发表于 2024-3-16 17:42:21

串口DMA程序@STC32G


精品实例代码: 4串口UART使用DMA收发 @STC32G 实用,易用,高效,稳定 - DMA: 支持4组串口,3组SPI,I2C,TFT-i8080/M6800,ADC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

神农鼎 发表于 2024-3-16 17:43:37



ModBus_RTU(4组串口任选+DMA传输的主从机)的lib库使用,STC32实现 - DMA: 支持4组串口,3组SPI,I2C,TFT-i8080/M6800,ADC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

神农鼎 发表于 2024-3-16 17:52:08





深圳国芯人工智能有限公司-实验箱 (stcai.com)




jwd 发表于 2024-3-15 09:36:02

我找了一下,发现stc8a8k的头文件是这样,而stc32g没有这2个定义,所以我加上了,但是编译还是报警。

jwd 发表于 2024-3-15 09:37:16

请问各位大侠,我该如何解决这个问题?

jwd 发表于 2024-3-15 09:47:32

我看手册上面也是直接操作DMA_UR2R_RXA和DMA_UR2R_TXA

gentleman 发表于 2024-3-15 12:18:54

本帖最后由 gentleman 于 2024-3-15 14:33 编辑

加上L 试一下
DMZ_UR1R_RXAL


jwd 发表于 2024-3-15 12:59:07

gentleman 发表于 2024-3-15 12:18
加上L 试一下
DMZ_UR1R_RXAL



改了后还是报警,不过是和以前不一样的报警


gentleman 发表于 2024-3-15 14:21:14

jwd 发表于 2024-3-15 12:59
改了后还是报警,不过是和以前不一样的报警

缓冲区定义在xdata了吗

jwd 发表于 2024-3-15 14:26:06

gentleman 发表于 2024-3-15 14:21
缓冲区定义在xdata了吗

直接定义的,U8 缓冲区,应该是在edata区

gentleman 发表于 2024-3-15 14:28:30

jwd 发表于 2024-3-15 14:26
直接定义的,U8 缓冲区,应该是在edata区

改成xdata

gentleman 发表于 2024-3-15 14:36:45

u8 xdata DmaBuffer;




DMA_UR1T_TXAH = (u8)((u16)&DmaBuffer >> 8);
DMA_UR1T_TXAL = (u8)((u16)&DmaBuffer);

页: [1] 2 3
查看完整版本: 请问串口DMA在STC32和STC8A8K64D4上还不一样吗?| 已解决