完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
stm32hal库uart发送9位数数据
void MX_UART7_Init(void) { huart7.Instance = UART7; huart7.Init.BaudRate = 9600; huart7.Init.WordLength = UART_WORDLENGTH_9B; //数据位宽为9位 huart7.Init.StopBits = UART_STOPBITS_1; huart7.Init.Parity = UART_PARITY_NONE; //既不选择奇校验,也不选择偶校验 huart7.Init.Mode = UART_MODE_TX_RX; huart7.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart7.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart7) != HAL_OK) { Error_Handler(); } }
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) { ……… //以上代码没做修改 if (huart->Init.WordLength == UART_WORDLENGTH_9B) //数据位宽为9位进入此函数 { if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK) { return HAL_TIMEOUT; } tmp = (uint16_t *) pData; *tmp |= 0x0100; //在此处加入这行语句,设置校验位为1。 huart->Instance->DR = (*tmp & (uint16_t)0x01FF); if (huart->Init.Parity == UART_PARITY_NONE) { pData += 2U; //数据位为9位并且没有设置奇偶校验,条件判断会进入此处,指向数组的指针要加2。 } else { pData += 1U; } } //以下代码也不需要修改 ……… }
void Usart7Tx(uint8_t* buff,uint16_t length) { HAL_UART_Transmit(&huart7, buff, length, 0xff); } void SearchSetI(uint8_t addr) { uint16_t buff[8]; buff[0] = addr; buff[1] = 0x04; buff[2] = 0x00; buff[3] = 0x08; buff[4] = 0x00; buff[5] = 0x01; buff[6] = 0xff; buff[7] = 0xff; Usart7Tx((uint8_t *)buff,8); //重要的是在这强转数组地址。 }
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1537 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1490 浏览 1 评论
910 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
654 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1538 浏览 2 评论
1845浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
596浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
499浏览 3评论
499浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
483浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 15:18 , Processed in 0.796408 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号