![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机C语言
E-C-E
做一个有思想的码农
展开
-
单片机串口发送16进制、ASCII
单片机串口发送16进制、ASCII单片机的串口是,你给的是什么格式他就发送什么格式,在使用串口助手接收到时候也会出现“用什么显示的选项”:1.如果你串口发送的是16进制数,可以直接把16进制数放到数组里面进行发送,也可以用sprintf函数对数据进行格式化成16进制格式,在进行发送。2.如果你想发送ASCII码,就要把数据转换成字符串或者ASCII码进行发送个人理解,互进。...原创 2020-06-18 11:13:44 · 6122 阅读 · 1 评论 -
单片机--main函数流程
main函数流程举例:串口接收中断、dma发送、定时器检测、dac转换int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_DMA_Init(); MX_USART1_UART_Init(); MX_DAC_Init(); MX_TIM3_Init(); HAL_UART_R...原创 2019-12-27 14:38:08 · 2459 阅读 · 1 评论 -
单片机--hal库串口dma
hal库串口dma在使用hal库的串口dma时候,串口dma发送默认会打开dma传输中断,并且关闭串口接收中断,导致串口接收中断一直进不来,解决办法:在串口dma发送之后再加入一个函数:HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1); //再开启接收中断假如程序奔,死循环只有串口dma发送,这样在...原创 2019-12-27 10:26:53 · 389 阅读 · 0 评论 -
单片机C语言--定位数组字符
//返回数组中字符的位置,//Cchar:字符 *pbuff数组uint8_t buffanaly(uint8_t *pbuff,uint8_t Cchar ){ uint8_t CcharLocat=0; while((*pbuff)!=Cchar) { pbuff++; CcharLocat++; if(CcharLocat==254) { ...原创 2019-12-18 15:42:36 · 285 阅读 · 0 评论