采用STM32F429IGT6单片机,KeilMDK5.32版本 使用SysTick系统滴答定时器进行延时 LED_R、LED_G、LED_B分别为PH10,PH11,PH12 Key1为PA0,Key2为PC13 KEIL5下载配置有FLASH与SRAM 用SPI5与Flash芯片通信(W25Q256JV),使用了DMA进行收发数据,SPI是同步通信,同时收发数据(其实仅与发TX同步,作为主器件,Tx产生波特率时钟SCK信号) 利用可变参数宏实现printf与scanf 定义了Flash输入输出结构体,利用了共用体 发送与接收缓冲区大小均为一个扇区大小4096B NSS(CS)采用软件控制,因为Flash芯片每发送玩一个指令都要把CS拉高。 注意点:因为TX产生SCK时钟,故需要TX的DMA优先级要比RX的优先级低,本次TX和RX的DMA使用的是一个DMA(DMA2),因为当收发一个数据后,TX和RX的DMA出现仲裁,TX需要发下一个数据,RX需要接收当前数据,为了防止一直发数据,故RX的DMA优先级需要比TX的高开启RX的DMA传输完成中断,在该中断中将CS拉高,结束通讯。
2022-12-23 09:59:58 616KB stm32 c语言
1
数字化语音存储与回放系统,详细讲述程序流程,还有其中所包括的电路
2022-12-20 15:26:08 153KB flash dma
1
使用DMA实现ADC双通道数据采集,可扩展更多通道
2022-12-14 22:29:45 4.8MB 单片机 STM32F103 ADC+DMA
1
pcie dma 官方驱动源码
2022-12-13 23:36:57 2.6MB PCIe驱动 DMA驱动 DMAdriver pciedriver
1
stm32 stm32f407使用硬件iic开启DMA,测试I2C1稳定运行不锁死总线。
2022-12-13 09:23:27 2KB stm32 硬件iic DMA I2C
1
stm32f103产生正弦波,三角波,方波,频率,幅值可调!
2022-12-10 19:49:46 3.87MB DAC STM32F103 dma stm32f103方波
1
以上程序测试时使用的STM32F103RET6,初始化了串口1、串口2、串口3、串口4、串口5,端口没有进行重映射。除串口5外,其他均使用DMA自动接收,串口空闲中断判断是否接收完成。 程序适合接收不定长串口数据
2022-12-08 13:12:56 1.89MB stm32 USART DMA
1
使用ST新库Low-layer(LL)开发的串口1的DMA闲时中断接收+DMA发送数据配置例程,主函数会一直usart1会500ms用普通方式按1字节1字节发送数据,当串口1接收到数据IDLE中断后,会用DMA方式将接收到数据发送出去,方便串口助手回环测试
2022-12-07 22:38:39 3.6MB STM32 LL库 DMA 闲时中断
1
采用STM32F429IGT6单片机,KeilMDK5.32版本 使用SysTick系统滴答定时器进行延时 LED_R、LED_G、LED_B分别为PH10,PH11,PH12 Key1为PA0,Key2为PC13 KEIL5下载配置有FLASH与SRAM 收发共用一个缓冲区 I2C使用DMA与AT24C02通信,Tx中,利用DMA传输数据,但是起始位,设备地址,读写地址采用的是阻塞式发送,数据则是采用DMA传输;注意点:采用DMA发送应该等到BTF(发送寄存器空,移位寄存器也为空)事件后设置停止位,不可以在DMA传输完成中断中设置停止位,因为此时正在发送最后一个字节,故开启BTF中断(I2C_EV),在该中断服务函数中发送停止位并关闭I2C的DMA传输使能。 Rx中,利用DMA传输数据,但是起始位,设备地址,AT24C02写入地址采用的是阻塞式发送,数据则是采用DMA传输;注意点:在DMA传输完成中断中发送停止位,并关闭I2C的DMA传输使能,I2C主接收,写读转换中再次发送起始位前,第一次发送设备地址字节后,应检测BTF 仿printf写入发送缓冲区前,应检查上一次通信是否结束
2022-12-06 22:29:30 619KB stm32 c语言
1
pg195-pcie-dma
2022-11-30 16:41:40 2.36MB xdma dma pcie xilinx
1