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

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

[复制链接]
原来的你 发布时间:2019-2-24 20:55
本帖最后由 原来的你 于 2019-2-24 20:58 编辑
- I6 _! N! [% M; n0 _9 t" R8 d3 M- T0 l( Y9 h/ U; r: [

本节我们讲究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)
0 _& ?3 w- s$ D2 a/ H

{, x" |. y7 l  A' [: ~! g/ ^
         /* 写一个字节到发送寄存器 */

: o- g1 o. ]; Y& e$ r5 p

( D. t2 Y  a. U, M+ v2 M- C

  UART1_SendData8(TxBuffer[TxCount++]);

  if (TxCounter == TX_BUFFER_SIZE)


! r& G/ R8 @; O0 U

  {' j' Q1 n/ f$ q
            /* 失能USART发送完成中断 */$ ^# S* O6 n# W8 c* @8 p
          UART1_ITConfig(UART1_IT_TXE, DISABLE);; D$ d+ y: B5 I& C' O/ {
         }


$ x, O3 B% h! F! [2 u0 v: S

}0 b2 W% `0 A! F

      INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)# b* _+ q, @/ v) Z3 M/ b. Y2 C- O5 ]
      {- Y5 \2 I. s4 I- W$ X
          uint8_t temp;* t+ [( k+ B4 G+ V: _* K
         /* 从接收数据寄存器读取一个字节并发送回去 */: n' y/ p! O( e' {
        temp = UART1_ReceiveData8();& x# m, z0 x, Q% Y$ f. F# E
        UART1_SendData8(temp);
4 R/ l' F5 O: }/ ]& H% f- A    }& d9 M4 ~& x9 b# B; m9 F8 M6 R; ]
" u. [, X2 c' e0 _7 o; ~# r
: Z  v2 L" a$ x# x% I+ \: w8 ?

( C% F9 M" Z3 p4 U) `
- N2 G: y" `) u+ f) Y) r
: q9 B: _9 ]6 a% {5 E: f
( l5 M7 D8 c3 P* ^
4 I, z/ [7 p3 b: H% Y, _$ g3 s& {* z
收藏 评论1 发布时间:2019-2-24 20:55

举报

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