求助8H8K64U 的硬件SPI+DMA 驱动spi屏幕例程
最近用8H8K64U 的SPI+DMA驱动SPI的TN液晶,可怎么设置都实现不了,有没有大佬做过这个?下面是代码,IRC频率22.1184,
void SPI_DMA_Config(void)
{
DMA_SPI_STA = 0x00;
DMA_SPI_CFG = 0xC0; //bit7 1:Enable Interrupt
DMA_SPI_AMT = 255; //设置传输总字节数:n+1
DMA_SPI_TXAH = (u8)((u16)&Buf >> 8); //SPI发送数据存储地址
DMA_SPI_TXAL = (u8)((u16)&Buf);
DMA_SPI_CFG2 = 0x01; //01:SS-P2.2
DMA_SPI_CR = 0x81; //bit7 1:使能 SPI_DMA, bit6 1:开始 SPI_DMA 主机模式,bit5 1:开始 SPI_DMA 从机模式, bit0 1:清除 SPI_DMA FIFO
}
void SPI_DMA_Master(void)
{
DMA_SPI_CR = 0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
SPI_SS = 0;
SPCTL = 0xd2; //使能 SPI 主机模式,忽略SS引脚功能
DMA_SPI_CR = 0xc0; //bit7 1:使能 SPI_DMA, bit6 1:开始 SPI_DMA 主机模式,bit5 1:开始 SPI_DMA 从机模式, bit0 1:清除 SPI_DMA FIFO
}
你的spi+dma成功了吗。可以参考学习一下吗。
范例程序 参考 :
学习一下,纯小白,今天诳论坛才发现DMA,之前一直用的IO,刷新率一直上不去{:shui:} 芯LYS 发表于 2025-4-14 11:17
范例程序 参考 :
这个必须用中断吗?DMA_SPI_CR |= 0x40;启动传输,然后查询等待SPIIF标志置位是否可以? imdx 发表于 2026-4-9 22:43
这个必须用中断吗?DMA_SPI_CR |= 0x40;启动传输,然后查询等待SPIIF标志置位是否可以? ...
启动DMA后,可以查询DMA相关的中断标志位进行等待,但是直接查询SPIIF是不对的,DMA传输时不应该关心被DMA操作的外设
页:
[1]