1.中断模式
void USART2_IRQHandler(void) //串口2中断服务程序
{
u8 u8Temp;
/*****************发送中断************************************/
if (USART_GetITStatus(USART2, USART_IT_TXE) == SET)
{
if(TX2_cn == TX2_no)
{
DIS_485TX();
USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
u8Uart2_FSM = U_FSM_ADR;
}
else
{
u8Temp = TX2_buff[TX2_cn++];
USART2->DR = (u16)u8Temp;
// GPIOD->ODR &= ~(GPIO_Pin_4);
}
}
2.轮询模式
for(TX1_cn = 0;TX1_cn <= TX1_no;TX1_cn++) //查询发送
{
while((USART1->SR&0x40)==0);
USART1->DR = (u16)UFlashBuff[TX1_cn];
}
关键字:STM32 USART 发送函数
引用地址:
STM32中USART常用的发送函数
推荐阅读最新更新时间:2024-03-16 16:24
STM32如何从串口接收数据,取出数据中的密码段再保存到flash中
STM32如何从串口接收数据,取出数据中的密码段再保存到flash中 u8 Usart2_buf ; unsigned int usart2_lent; void main(void) { char buf_password = 000000 ;//6位密码 memset((char *) &buf_password, 0, sizeof(buf_password)); strncpy(buf_password, Usart2_buf + 9, 6);//从外键获取的信息保存到Usart2_buf中,其中从第10-15位保存的是密码 if(save_password()==1) { soundBe
[单片机]
一个完整的STM32工程到底由哪些文件组成
这个我必须总结清楚,就像之前总结无人机的飞控算法一样,你可以把各个STM32书里面的工程文件拿来总结。找出通用的模式。灵活运用,能灵活改动。 我觉得基本的应该是标准库文件+的应用层代码。 其实本质还是一堆C文件,互相引用,那些文件夹应该只是方便整理归类那些C文件,不要那些文件夹应该也是可以的。 这是野火的STM32工程组成 《STM32单片机应用与全案例实践》里的 这个应该是讲得非常清晰了的。 这是平衡小车之家的平衡车的程序框架,SYSYTEM这个文件夹其实是正点原子弄的(这个正点原子的书上有说,他们专门弄个SYSTEM文件夹放着就是几个不同例程都要通用的C文件,可以就直接当作用户写的C
[单片机]
STM32串口发送十六进制的数组
通过串口发送十六进制的数组的方法有很多种,这里我介绍一种最简单也最使用的一种方法。 我这里使用的板子是STM32F103RCT6,使用串口2,usart2.c的代码如下: #include delay.h #include usart2.h #include stdarg.h #include stdio.h #include string.h #include timer.h //串口接受缓存区 u8 USART2_RX_BUF ; //接受数据缓冲,最大为USART2_MAX_RECV_LEN个字节 u8 USART2_TX_BUF ; //发送数据缓冲,最大为USART2
[单片机]
STM32时钟学习之STM3210X_RCC.H解读
当HSI被用于作为PLL时钟的输入时,系统时钟能得到的最大频率是64MHZ。 STM3210X_RCC.H头文件,主要是对RCC相关的寄存器进行了一个重新的定义命名以及对.c文件中的函数进行申明。 可以从参考手册的6.3 RCC寄存器描述了解到。更加详细的内容 /******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** * File Name : stm32f10x_rcc.h * Author : MCD Application Team * Version : V2.0.2 * Date
[单片机]
linux下编写I2C驱动与stm32通信(二)
接上一篇,linux下GPIO模拟I2C驱动完成后,就是stm32的i2c配置了,由于hi3518e作为i2c的主设备,stm32则作为从设备,由于GPIO模拟i2c的从时序比模拟主时序要麻烦很多,所以采用stm32的硬件I2C。(stm32官网i2c例程主模式会莫名的卡死,从模式比较好用) 下载官网例程,将之设置为从模式,使用i2c2,将SCL,SDA,GND与hi3518e板子上GPIO模拟的SCL,SDA和GND连起来,写一个测试例程来验证双方的通信。 首先在linux下加载驱动,然后调用打开驱动,调用编写的驱动接口函数,读数据和写数据。驱动接口代码如下: #include stdio.h #include
[单片机]
STM32网络丢包问题分析
1. 测试环境说明 硬件平台:NUCLEO-F767ZI 开发板(STM32F7,Cortex-M7,216MHz,2MB Flash,512KB SRAM) 操作系统:FreeRTOS v9.0.0(CMSIS-RTOS v1.02) TCP/IP协议栈:LwIP v2.0.0 这里所描述的网络丢包问题的测试程序,是使用 STM32CubeMX 工具(库版本为 STM32Cube_FW_F7_V1.7.0 ),基于 FreeRTOS 和 LwIP 实现的一个以太网 Demo 程序。协议栈已实现 ICMP 包的 echo 功能(即可以通过其他以太网设备 ping 开发板),此外,我们在该程序框架之上添加了 tcp_echo
[单片机]
STM32 SHT10温湿度传感器的信号采集
首先讲讲SHT10这款温室度传感器。SHT1x(包括SHT10,SHT11和SHT15)属于Sersirion温湿度传感器家族中的贴片封装系列。更之前我讲过的DHT11这款温湿度传感器相比,体积小了许多,特别适合用于产品中。SHT10温湿度传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件(文绉绉的),传感器内部有一个精度高达14为位的A/D转换器,适应串行接口电路实现无缝连接。该产品具有品质卓越、响应速度速度快,抗干扰能力强、性价比高等优点。 1、接口定义: SHT10的接口定义如下图所示: 如上图所示,1脚为GND,4脚为VDD。它的供电电压范围为2.4~5.5V,建议的电压为3.3V,在电源引脚(VD
[单片机]