历史上的今天
今天是:2025年04月17日(星期四)
2020年04月17日 | STM32 CUBEMX UART+DMA
2020-04-17 来源:eefocus
参考
https://blog.csdn.net/xukao5671927/article/details/78605022
http://www.51hei.com/bbs/dpj-39885-1.html
官方参考手册
小发现:
USART1_IRQHandler中的
void USART1_IRQHandler(void)
{
/* USER CODE BEGIN USART1_IRQn 0 */
uint32_t tmp_flag = 0;
uint32_t temp;
/* USER CODE END USART1_IRQn 0 */
HAL_UART_IRQHandler(&huart1);
/* USER CODE BEGIN USART1_IRQn 1 */
tmp_flag = __HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE);
if((tmp_flag != RESET)){
__HAL_UART_CLEAR_IDLEFLAG(&huart1);
/* 读取串口状态寄存器(芯片型号不同,寄存器名称可能需要修改) */
temp = huart1.Instance->SR;
/* 读取串口数据寄存器(芯片型号不同,寄存器名称可能需要修改) */
temp = huart1.Instance->DR;
HAL_UART_DMAStop(&huart1);
/* 读取DMA剩余传输数量(芯片型号不同,寄存器名称可能需要修改) */
temp = hdma_usart1_rx.Instance->NDTR;
rx_len = BUFFER_SIZE - temp;
recv_end_flag = 1;
}
/* USER CODE END USART1_IRQn 1 */
}
__HAL_UART_CLEAR_IDLEFLAG(&huart1);是这样一个宏函数
#define __HAL_UART_CLEAR_PEFLAG(__HANDLE__)
do{
__IO uint32_t tmpreg = 0x00U;
tmpreg = (__HANDLE__)->Instance->SR;
tmpreg = (__HANDLE__)->Instance->DR;
UNUSED(tmpreg);
} while(0U)
与
/* 读取串口状态寄存器(芯片型号不同,寄存器名称可能需要修改) */
temp = huart1.Instance->SR;
/* 读取串口数据寄存器(芯片型号不同,寄存器名称可能需要修改) */
temp = huart1.Instance->DR;
功能相同,故将函数注释掉。重新烧录,程序正常运行
史海拾趣
|
Datasheet下载: 功能框图: DM6467实现了在各种视频终端产品间的无缝内容传输。它集成了ARM926EJ-S内核与600MHz C64x+ DSP内核,并采用高清视频/影像协处理器(HD-VICP)、视频数据转换引擎以及目标视频端口接口。在执行高达H.264 HP@ L4(10 ...… 查看全部问答> |
|
小弟刚刚接触ARM,跟着开发板的说明移植内核,发现自己的Linux系统下不会烧写镜像,可以说是啥也不会,望有经验的同志告之 PS:小弟用惯了Linux,不想回到Windows下去,望能有详细的方法(小白一个)… 查看全部问答> |
|
我想用用定时器输出微秒级的控制(mirco2440的板子),控制普通GPIO口输出高低电平(PWM被占用),整体思路是什么样的(驱动,应用程序调用)。。求助… 查看全部问答> |
|
接触WINCE5.0不久,不知道怎么办. WINCE 原来的缺省显示支持240*320的LCD,而我们用的LCD是320*240.在PB中把WINCE5.0自带的ImageViewer软件加入过来,发现很多地方,打开该应用程序菜单项窗口以后,有些窗口显示框超出了我的LCD.由于看不到WINCE源代码, ...… 查看全部问答> |
|
我用P1.2,1.3口捕获两个输入方波信号,均上升沿促发。两个捕获计数值差值得出时间差。但是计数差值很不稳定。。一段时间较为正常,一千多。一段时间突然保持在-几万。求助 #include long int cap1=0; long int cap2=0; long int ca ...… 查看全部问答> |
|
本帖最后由 chenzhufly 于 2015-1-19 15:54 编辑 SoC的Linux内核编译方法 这里介绍如何编译SD Card的image。这里并没有太多的原理需要讲述,但是大多数刚刚接触到linux 嵌入式的朋友还是需要花些时间找编译方法。这里提供了为SoCFPGA编译内核 ...… 查看全部问答> |




