找回密码
 立即注册
楼主: wuzhengmin

请教一下,用AiCube图形化程序自动生成SPI驱动TFT彩屏,无输出?

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:20:00 | 显示全部楼层
传输总字节寄存器:2个8位的寄存器
截图202605251019577646.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:21:54 | 显示全部楼层
传输完成寄存器:
截图202605251021526858.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:22:46 | 显示全部楼层
发送地址寄存器:
截图202605251022425370.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:23:48 | 显示全部楼层
接收地址寄存器:
截图202605251023464092.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:26:28 | 显示全部楼层
要添加个汇编文件:

中断跳转用:
截图202605251025055460.jpg
截图202605251026255828.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:31:13 | 显示全部楼层
实际就是跳转:
截图202605251031108025.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:49:46 | 显示全部楼层
先声明2个数组:
bit DmaFlag;

u8 xdata DmaTxBuffer[256];
u8 xdata DmaRxBuffer[256];

void DMA_Config(void)
{
     DMA_M2M_CFG = 0x80; //r++ = t++ 使能M2M中断,地址递增
     DMA M2M_STA = 0×00;//中断传输标志位清零
     DMA_M2M_AMT = 0x7f; //设置传输总字节数:n+1 0x80就是要搬运128个数据
     DMA_M2M_TXAH =(u8)((u16)&DmaTxBuffer >> 8);//&是取地址
     DMA_M2M_TXAL =(u8)((u16)&DmaTxBuffer);
     DMA_M2M_RXAH = (u8)((u16)&DmaRxBuffer >> 8);
     DMA_M2M_RXAL  =  (u8)((u16)&DmaRxBuffer);
     DMA M2M CR  =  0хс0;//允许并且使能M2M的DMA传输(就是开始传输!)
}


void M2M_DMA_Interrupt(void)interrupt 13
{
     if(DMA_M2M_STA&0x01)//发送完成
     DMA_M2M_STA&= ~0x01;//清除DMA_M2M完成标志
     DmaFlag = 1;  //DMA_M2M完成标志置1,表示本次传输完成

}

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 10:59:58 | 显示全部楼层
  1. void main()
  2. {
  3. u16 i;
  4. DmaFlagl= 0;
  5. WTST=0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
  6. CKCON= 0;//提高访问XRAM速度EAXFR-1;//扩展寄存器(XFR)访问使能
  7. MCU_init();
  8. for(i=0;i<256;i++)
  9. {
  10. DmaTxBuffer[i] = i;
  11. DmaRxBuffer[i] = 0;
  12. }
  13. UART1_init ();
  14. printf("DMA is ready\r\n");
  15. DMA_Config ();
  16. EA=1;
  17. while(1)
  18. {
  19.    if(DmaFlag)
  20.    {
  21.   DmaFlag = 0;
  22. for(i=0;i<256;i++)    printf"%02x",DmaRxBuffer[i]);
  23. if((i&0x0f)== 0x0f)
  24. printf("\r\n");
  25.             }
  26.        }
  27.    }
  28. }
复制代码
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:202
  • 最近打卡:2026-07-04 17:28:31
已绑定手机

25

主题

2662

回帖

3411

积分

论坛元老

积分
3411
发表于 2026-5-25 11:06:02 | 显示全部楼层
  1. for (int i = 0; i < 256; i++) {
  2.     // 强制转换为 unsigned char,防止符号扩展导致的 ffffff 问题
  3.     printf("%02X ", (unsigned char)DmaRxBuffer[i]);
  4.    
  5.     // 将换行判断放在循环内部,每打印 16 个字节换一次行
  6.     if ((i & 0x0F) == 0x0F) {
  7.         printf("\r\n");
  8.     }
  9. }
  10. // 建议在循环结束后再补一个换行,确保最后一行不足16个字节时也能正常换行
  11. printf("\r\n");
复制代码
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-5 14:05 , Processed in 0.086982 second(s), 78 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表