标签/分类 "单片机" 下的文章
stm32 串口DMA配置
一、定义串口DMA缓存 #define UART2_MAX_LENGTH 255 uint8_t aU2DmaRxBuffer[UART2_MAX_LENGTH]; uint8_t aU2DmaTxBuffer[UART2_MAX_LENGTH]; // = "1234"; 二、串口基本初始化 UartHandle[Uart2].Instance = USART2; UartHandle[Uart2].Init.BaudRate = bute; UartHandle[Uart2].Init.WordLength = mx_get_uart_databit(databit); UartHandle[Uart2].Init.StopBits = UART_STOPBITS_1; UartHandle[Uart2].Init.Parity = mx_get_uart_paritybit(parity); UartHandle[Uart2].Init.Mode = UART_MODE_TX_RX; UartHandle[Uart2].Init.HwFlowCtl = UART_HWCONTROL_NONE; UartHandle[Uart2].Init.OverSampling = UART_OVERSAMPLING_16; UartHandle[Uart2].Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; UartHandle[Uart2].AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; if (HAL_UART_Init(&UartHandle[Uart2]) != HAL_OK) { Error_Handler(); } 三、打开串口空闲中断 __HAL_UART_ENABLE_IT(&UartHandle[Uart2], UART_IT_IDLE); 四、DMA初始化 找到 void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)函数,里面实现如下所示: __HAL_RCC_USART2_CLK_ENABLE(); #if UART2_DMA __HAL_RCC_DMA1_CLK_ENABLE(); #endif
ARM 编译工具keil 和 IAR 命令行编译和下载
目的 不管是Keil还是IAR对代码补全,高亮等编辑功能支持的不是很好,虽然现在的Keil 5.25对界面的支持好了很多,但是很多人还是青睐于第三方的编辑器,命令行的编译方式可以让我们在使用第三方编辑器编辑的时候进行代码编译和下载,通常我们比较
MicroPython (一)点亮我的Led
工具 : putty F429Discovery 开发板 Notepad++ 注意:不知道为什么 其他的终端工具有问题,推荐 putty 基本没有发现问题 putty 实时调试 使用putty 打开USB 虚拟串口,我们打开可以使用help()方法寻求帮助 输入help()如下所示 >>> help() Welcome to MicroPython! For online help please visit http://micropython.org/help/. Quick overview of commands for the board: pyb.info() -- print some general information pyb.delay(n) --
一个嵌入式软件定时器的设计
概述 在嵌入式系统里面,相对来说定时器的资源是比较紧缺的,并且定时器是比较精确的,有些时候可能我们需要大量的定时任务,并且并不一定要非常精确的定时器,比如ms级别的定时,s级别的定时器,这个时候我们就需要设计一些软件定时器来做这些需求。 最原始