STM32中USART常用的发送函数

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];
 }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值