你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8-SO8-DISCO(3)UART中断收发

[复制链接]
原来的你 发布时间:2019-2-24 20:55
本帖最后由 原来的你 于 2019-2-24 20:58 编辑
0 N" h3 \- g/ j) w! [' s; Q, D
5 D8 }) N/ }4 }5 ?: h. A  [

本节我们讲究stm8s001的串口中断收发,代码如下:、

void UART1_Config(void)

{

  UART1_Init((uint32_t)115200, UART1_WORDLENGTH_8D,UART1_STOPBITS_1, UART1_PARITY_NO,

                   UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);

  /* 使能接收中断 */

  UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);

  /* 使能发送中断 */

  UART1_ITConfig(UART1_IT_TXE, ENABLE);

  /* 使能 UART1 */

  UART1_Cmd(ENABLE);

}

      INTERRUPT_HANDLER(UART1_TX_IRQHandler, 17)' ^! H; R- B9 }2 f$ A4 x

{
; @& ?- J4 O# T7 k# M5 U  |0 X         /* 写一个字节到发送寄存器 */

2 F: V  I0 k% T, f
( D0 G3 x( {, S3 P  }, j. V

  UART1_SendData8(TxBuffer[TxCount++]);

  if (TxCounter == TX_BUFFER_SIZE)


  N2 d1 F3 s+ m

  {
8 D0 j: w) [5 ~5 z! f            /* 失能USART发送完成中断 */, \' w7 ?+ x6 N
          UART1_ITConfig(UART1_IT_TXE, DISABLE);, l( w  h5 x5 h2 R" Z/ ], O6 S
         }


  d6 {9 p) @4 T6 F

}9 r7 Q5 ?. H$ @; Q

      INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)& G2 y2 o; j' V! F( |
      {9 Q" Q. l) j$ r
          uint8_t temp;
7 p- ?  R- V1 c& @4 d, t         /* 从接收数据寄存器读取一个字节并发送回去 */
- P! M7 H5 k; W3 p& k        temp = UART1_ReceiveData8();* t3 P+ R/ X7 c9 A
        UART1_SendData8(temp);+ i# G% G; Y  x) n4 F" W' Z
    }
7 n& {$ \$ d9 g* V& x
, F! x# T4 _( k( |
6 X( o( C" \- B$ m: r% b! W. @' m: H
0 h* m( N7 `% ^+ w

; w  S  H* t+ P% l6 S6 u& s
7 I, B2 }; g. `+ M1 F
: O  f9 v0 k/ O, |0 p
3 @, Z6 P2 i7 b. p- m
赞 收藏 评论1 发布时间:2019-2-24 20:55

举报

1个回答
404629487qq 回答时间:2019-3-14 22:22:24
stm8s105,发送字符串,却只能收到第一个字符,后边的就收不到了。

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版