HAL_StatusTypeDefHAL_SPI_Transmit_DMA(SPI_HandleTypeDef*hspi,uint8_t*pData,uint16_t Size); 2.3 LCD驱动函数改造 上一章节中我们使用的是SPI驱动的LCD,并没有加入DMA,本章节咱们对驱动函数进行改造,加入DMA驱动,只需要把我们的SPI发送函数改为DMA发送函数即可,以下几个函数同理改动 ...
__HAL_LINKDMA(spiHandle,hdmatx,hdma_spi1_tx); 继续来看下SPI DMA的接口: HAL_StatusTypeDefHAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size); HAL_StatusTypeDefHAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size); HAL_StatusTypeDefHAL...
{LCD_WR_REG(0x2c);DC_H();ConvHL(s, (int32_t)w*h*2);HAL_SPI_Transmit_DMA(&hspi1,...
y_1,x_2,y_2);DC_Set();// 写数据boolflag=true;while(flag){uint16_tcurNum;if(num>maxNum){curNum=maxNum;num-=curNum;}else{flag=false;curNum=num;}HAL_SPI_Transmit_DMA(&hspi1,colors+idx*maxNum,curNum);idx+=1;
HAL_SPI_Transmit_DMA(&h##name, data, len); \ name##_tx_rw_lock(); \ return len;\ } SPI_RW_LOCK(spi1, tx) SPI_SEND_DATA_FUNC(spi1) int spi_init(void) { #if USE_SPI1 MX_SPI1_Init(); SPI_INIT(spi1); #endif
HAL_SPI_Transmit_DMA(&h##name, data, len); \ name##_tx_rw_lock(); \ return len;\ } SPI_RW_LOCK(spi1, tx) SPI_SEND_DATA_FUNC(spi1) int spi_init(void) { #if USE_SPI1 MX_SPI1_Init(); SPI_INIT(spi1); #endif
= width * height; LCD_SetWindows(xsta, ysta, xend, yend); LCD_CS_CLR; LCD_DC_SET; hspi1.Init.DataSize = SPI_DATASIZE_16BIT; hspi1.Instance->CR1 |= SPI_CR1_DFF; HAL_SPI_Transmit_DMA(&hspi1, (uint8_t *)color_p, size); while (__HAL_DMA_GET_COUNTER(&hdma_spi1_tx) ...
随便进入一个时钟使能函数,如__HAL_RCC_GPIOC_CLK_ENABLE() 随便进入一个RCC宏定义,如RCC_AHB1ENR_GPIOCEN 或者直接进入stm32f429xx.h文件 里面有所有外设与时钟对应关系,如RCC_AHB1ENR_DMA1EN 配置示例 小编有话说 例子源码: https://sxf1024.lanzoui.com/b09rf535a密码:bf5q ...
随便进入一个时钟使能函数,如__HAL_RCC_GPIOC_CLK_ENABLE() 随便进入一个RCC宏定义,如RCC_AHB1ENR_GPIOCEN 或者直接进入stm32f429xx.h文件 里面有所有外设与时钟对应关系,如RCC_AHB1ENR_DMA1EN 配置示例 小编有话说 例子源码: https://sxf1024.lanzoui.com/b09rf535a密码:bf5q ...
(result==osOK){//获取成功returnHAL_SPI_Transmit_DMA(&hspi2,TxData,size);}else{//获取失败return1;}}//DMA 传输完成后会调用 SPI传输完成回调函数//在该函数中我们释放信号voidHAL_SPI_TxCpltCallback(SPI_HandleTypeDef*hspi){if(hspi->Instance==hspi2.Instance)osSemaphoreRelease(DMA_SemaphoreHandle...