|
我今天在使用STM32G474RE来使用SPI+DMA发送给OLED屏时,在启动SPI+DMA发送时,如果使用如下代码: /** * @brief Updates buffer from internal RAM to OLED with SSD1306 in horizontal addressing mode (blocks until interrupt function initialized) * @note This function must be called each time you do some changes to OLED, to update buffer from RAM to OLED */ uint8_t SSD1306_UpdateScreen(void) { /* Writing data to display buffer - non-blocking function with SPI and DMA */ uint8_t i,n,state; for(i= 0; i<8;i++) { ssd1306_SPI_WriteCmd(0xb0+i); ssd1306_SPI_WriteCmd(0x00); ssd1306_SPI_WriteCmd(0x10); state = ssd1306_SPI_WriteDisp(&SSD1306_Buffer[SSD1306_WIDTH*i],SSD1306_WIDTH); if(state == SSD1306_SPI_ERROR) { break; } } return state; } |
fdcan通信内部回环正常,换成正常模式收不到数据
G474的opamp失效症状。有大佬遇到相同的症状吗
DMA传输完成后,串口与DMA一直处于忙状态
STM32F407VET6 能适配哪些FATFS版本文件
STM32G474RBT6使用Keil工程通过仿真器下载程序时,程序量超过64K时,就会下载失败,求教。
Motor Control Workbench六步算法显示硬件不支持电流检测,同一套硬件FOC算法就显示支持;硬件为B-G431B-ESC1
STM32H7A3VGTA QSPI读W25Q128J DMA模式不能工作
STM32G474VET6如何配置HRTIM的中心对齐模式
//STM32H7A3VGT6 QSPI的DMA方式无法正常工作
STM32G474RBT6芯片,hal库默认设置为双bank模式,怎样修改为单bnak模式?使用STM32CubeMX工具生成工程时,只能选双bank模式,不能选单bank模式!
微信公众号
手机版
我已经找到问题了,是链表没有设置对,感谢了!
你这里重点提到ssd1306_SPI_WriteDisp()函数,具体函数体并不清楚。我猜测是你在该
函数里进一步调用SPI DMA发送函数。
建议你基于DMA方式的SPI发送功能做验证,使用ST的库函数即可很快验证。
通过验证它,对SPI/DMA相关配置做验证确认。
之后,再来使用ssd1306_SPI_WriteDisp函数,注意变量类型、传输长度等细节。
2. 如果是,那么检查一下 OLED 这边的时序。
3. 如果不是,可以检测一下底层驱动是否正常,对比一下官方的库例程。