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

【经验分享】STM32移植FreeModbus串口合适但是485不合适的解决方法

[复制链接]
STMCU小助手 发布时间:2022-4-22 23:36
一原因:
. t& F1 a( W' P0 s原因是因为485相比串口多了一个发送接收控制。
# l; T5 ?* t% A二解决方法:
4 J! A- }7 j; o将发送/接收控制放到freeModbus中让FreeModbus自己控制发送接收,主要在vMBPortSerialEnable这个函数中修改,具体如下:# e$ r/ ~# m1 o3 B2 }5 |* `& c
. a1 \6 P$ o! _  p' ~3 z
  1. void" M0 r. d& w$ V0 d& G6 [9 l
  2. vMBPortSerialEnable( BOOL xRxEnable, BOOL xTxEnable )0 B0 Y+ q0 g- D: I: a/ ^
  3. {: H' u' f% p6 V6 a4 P. d
  4.     /* If xRXEnable enable serial receive interrupts. If xTxENable enable$ P& k0 f1 L9 H( D2 S2 H5 p
  5.      * transmitter empty interrupts.
    6 g- @; U. P2 i
  6.      */* M/ `; j( S- k# n. a# z+ p- {* \
  7.         if(xRxEnable == TRUE)
    4 U- n/ \2 V' k" k$ F, e) c) C
  8.         {! c3 l+ O+ _; Q1 E) A+ h* ~
  9.                 modbus_receive_en();   //开接收中断的时候接收使能
    , C0 Q7 ^7 |8 s& J$ k
  10.                 USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
    0 v  y4 Z5 f( S& @
  11.         }
    ' V# `. d) Z( ]) N, Y. V
  12.         else6 V% N$ v2 X2 ?4 a% N
  13.         {
    , B! x; S( k( Z) j: N, z( I
  14.                 USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);1 p; `2 \, _8 ^* c
  15.         }
    ) Z. b& E' H1 x' d. Y
  16.         
    3 i5 ]) R7 v! i
  17.         if(xTxEnable == TRUE)
    $ o( [0 u) U" t# w( a: q: C
  18.         {4 g! s! r7 _4 s8 I
  19.                 modbus_send_en();        //开发送中断的时候发送使能' Y: I$ Q! S9 \& u2 T
  20.                 USART_ITConfig(USART2, USART_IT_TC, ENABLE);; n6 y6 d: D9 F
  21.         }' n: d1 R6 H6 W/ L7 W, ^) _6 x# y
  22.         else
    4 y8 y) F% P7 M
  23.         {
    . H1 J5 _( |9 t( B3 b+ r% x* h% G
  24.                 USART_ITConfig(USART2, USART_IT_TC, DISABLE);: i1 A4 ^: l6 s9 @/ C- Q0 M
  25.         }9 |7 @% b& J1 ^9 m( A
  26. }& y( Y) T3 Y# ]% W0 |
复制代码
( L; l: x  J+ A# p  K

" c) R: }! R8 ?$ Q: F/ w8 x. }' A  B  n7 f' g' w' }/ d
* q/ v! q& f! {3 u. U
赞 收藏 评论0 发布时间:2022-4-22 23:36

举报

0个回答

所属标签

相似技术帖

官网相关资源

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