请教各位大侠,有没有试过,SPI和UART2一起使用DMA?
这几天忽然想看看,我们STC的Ai8051U试验箱,能够用SPI+DMA方式驱动OLED屏,也可以用UART2+DMA方式在单片机和PC机之间使用串口助手高速传输数据
那么能否整合上面的2个任务呢?
这几天我尝试了一下,遇到个问题:
调试好7脚OLED屏幕用SPI+DMA显示后,把普通UART2 通信部分加入,OLED和PC串口助手都可以顺利执行,但是一加入UART的DMA初始化
整个系统好像就崩溃了,OLED没有显示,串口不受控制的接收到部分乱码。。。。。。。。。。。
我把项目打包发上来,大家帮忙看看哪里没有写对?
现在的状态是主函数:
config();
usb_init(); //USB-CDC 接口配置
Timer0_Init(); //1毫秒@40.000MHz
Uart2_Init(); //9600bps@40.000MHz
//DMA_Config();
Initialize_OLED();
P3_IO_Init(); //P3端口用作中断初始化(P32P33P35用图OLED的SPI)
ES2 = 1; // 使能串口2中断
EA = 1;
一把DMA_Config();放出来,就不行啦!
附件例程包只有22字节,打开压缩包后是空的。
页:
[1]