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

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

[复制链接]
原来的你 发布时间:2019-2-24 20:55
本帖最后由 原来的你 于 2019-2-24 20:58 编辑 , q& ~; c% A9 N+ H- N- }0 b6 m
0 j1 t: Q# s  S5 K0 e4 P/ Y. f) U  Y

本节我们讲究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)
  U2 q4 a: }$ ~; z' G2 d% R  B

{1 _/ z$ g( s. @( ^) P+ w$ _2 o) q
         /* 写一个字节到发送寄存器 */

% A/ h9 g$ I; n4 V; l8 q: w

/ O. ?+ G1 j! s

  UART1_SendData8(TxBuffer[TxCount++]);

  if (TxCounter == TX_BUFFER_SIZE)


( z  ]8 v+ p/ h& a  A0 r* S8 s7 e

  {
$ h7 Z6 j" U% o& t- Z9 z            /* 失能USART发送完成中断 */
& K: {. e- }$ u  H/ E; ~          UART1_ITConfig(UART1_IT_TXE, DISABLE);
: ?, Q4 v- n' i, ~7 k2 ]# v7 _% ^         }


% W/ ^7 C# b' @4 m( [

}
  X/ I5 T) ?/ L1 F7 `8 o

      INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)% A6 i, \% g1 G6 X. \
      {% Q$ y" u( k7 q9 I6 o
          uint8_t temp;( ~4 K" h: E  @6 z5 ]4 W
         /* 从接收数据寄存器读取一个字节并发送回去 */' M0 o. y, z( ]# A* I" ^& o" X
        temp = UART1_ReceiveData8();  L  R" V. ]5 u/ H* {: J
        UART1_SendData8(temp);
' m0 P1 ~0 H4 C( T& t( `7 i    }
4 c: y4 n$ x5 p: \/ T. ?  j5 j6 }" ?; O' S/ O3 o" X
/ t! U5 C1 w$ d4 A* A* }9 n

' ~1 |: k4 P& U. D. f
- [* H' h1 y! K: z# d. M, `: E( X. Y' Y, \

7 M' }- p5 m% T& X2 y0 }, O  c
- p. x- N# a% V
, B& g2 k" r, f* F7 u
收藏 评论1 发布时间:2019-2-24 20:55

举报

1个回答
404629487qq 回答时间:2019-3-14 22:22:24
stm8s105,发送字符串,却只能收到第一个字符,后边的就收不到了。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版