网上使用HAL串口时很多都没有实现不定长数据的接收,要么是限定数据长度,要么是加“0x0a0x0d”来控制接收完成,找了很久都没有真正找到一个能用的,在很多通信中不可能是定义的,或是加上“0x0a0x0d”来实现的,由于项目需要,自己阅读STM32HAL的文档,写出了一个Demo程序,可以实现回显功能(就是通过给STM32发送不定长的数据,可以实现一模一样接收发送的数据),在STM32F429IGT6上验证过,跑了一天没有出现丢失数据的问题,使用DMA发送与接收方式,可以释放CPU部分运算资源,程序中的UART_RX_BUF_SIZE定义为128,就是一次最大接收为128,我在项目中通过改为2048也可以通过一次接收2k的数据,代码量很少,才200多行,很容易看懂,可以移植到不同系列的STM32上,希望这程序能帮助到曾经跟我一样到处找资源解决HAL库与标准库串口使用上不同而痛苦的朋友们
2024/4/29 4:56:22 1.37MB stm32
1
主控芯片stm32采用lwip协议栈实现DNSDHCPTCPClient跑的ucosIII另有USART1DMA发送中断接受
1
STM32F407ADC采集信号通过DMA发送给内存,并且通过串口发出,已调试通过
2023/11/24 0:49:01 10.73MB ARM stm32 ADC
1
spi主机程序STM32CubeMx生成Hal库DMA发送接收intmain(void){/*USERCODEBEGIN1*//*USERCODEEND1*//*MCUConfiguration--------------------------------------------------------*//*Resetofallperipherals,InitializestheFlashinterfaceandtheSystick.*/HAL_Init();/*USERCODEBEGINInit*//*USERCODEENDInit*//*Configurethesystemclock*/SystemClock_Config();/*USERCODEBEGINSysInit*//*USERCODEENDSysInit*//*Initializeallconfiguredperipherals*/MX_GPIO_Init();MX_DMA_Init();MX_USART1_UART_Init();MX_SPI5_Init();/*USERCODEBEGIN2*/// HAL_UART_Receive_DMA(&huart1,rxBuffer,BUFFER_SIZE); /*USERCODEEND2*//*Infiniteloop*//*USERCODEBEGINWHILE*/while(1){ HAL_GPIO_WritePin(GPIOF,GPIO_PIN_6,GPIO_PIN_RESET); spi_tx[0]=6; spi_tx[1]=7; spi_tx[2]=8; spi_tx[3]=9; memset(spi_rx,0,BUFFER_SIZE); HAL_SPI_TransmitReceive_DMA(&hspi5,spi_tx,spi_rx,BUFFER_SIZE); HAL_GPIO_WritePin(GPIOF,GPIO_PIN_6,GPIO_PIN_SET); HAL_Delay(1000);/*USERCODEENDWHILE*//*USERCODEBEGIN3*/}/*USERCODEEND3*/}
2023/11/1 6:11:26 33.37MB spi DMA 主机 STM32CubeMX
1
STM32_HAL+串口+DMA发送和接收,可做项目研发,串口用DMA发送和接收,减轻CPU负担。
2023/8/2 13:10:21 32.51MB STM32HAL库 串口DMA DMA发送+接收
1
使用stm32f103RCT6串口DMA空闲中断接收,DMA发送完整源码,修改串口只需修改对应宏定义即可
2023/7/1 16:21:09 2.91MB stm32F103 串口 DMA
1
这是stm32f103驱动vs1003b芯片的尺度,上位机使用c#写的,部份代码开源,付与的是PL2302usb转串口模块,还搜罗了写adpcm文件头的软件,是一套残缺的录音法度圭表标准。
所用模块1.stm32f103rct6arm芯片开拓板2.pl2303usb转ttl模块3.vs1003b解码模块带咪头接线stm32接电脑usb1.TX--PA32.RX--PA2stm32接vs1003b1.PA5--SCLK2.PA6--MISO3.PA7--MOSI上面三个是spi数据读取4.PC6--DREQ5.PC7--XCS6.PC8--XDCS7.PC9--XRST这四个是抑制vs1003的io口单片机上电后串口1会输入32895,展现vs1003b芯片残缺,而后耳机缘听到嘀嘟一声正弦波测试,展现开拓板残缺,而后串口2会输入一段10秒的录音数据,掀开WindowsFormsApp1的C#法度圭表标准,波特率配置成921600付与成xxx.spx文件,而后运行ConsoleApp1天生xxx.wav文件。
本法度圭表标准经由测试,残缺可用。
2023/3/25 18:48:46 3.66MB STM32f103 VS1003 串口2 DMA
1
STM32F207串口例子串口1,2为DMA发送与接收串口3,4没有使用DMA。
工程为KEILC。
4个串口发送接收都在硬件板是测试过的。
需要留意的是我的硬件板的晶振是25M,如果你的晶振不一样,需要在system_stm32f2xx.c文件中修改#ifndefRMII_MODE/*Systemclockfrequencyconfiguredfor120MHz****************************//*PLL_VCO=(HSE_VALUEorHSI_VALUE/PLL_M)*PLL_N*/#definePLL_M25
2023/2/22 22:26:24 364KB STM32F207 串口1 DMA源码 PRINTF
1
STM32F407标准库实现6路串口配置,DMA发送,中缀接收
2022/12/3 13:50:13 552KB STM32F407 标准库 6路串口 DMA发送
1
STM32F103单片机上实现,串口2经过DMA接收数据,串口1将串口2接收到的数据经过DMA发送出去。
2018/2/5 14:08:13 595KB STM32 103 接收 DMA
1
共 12 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡