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

【实战经验】CEC 输出的数据和数据长度始终不匹配

[复制链接]
zero99 发布时间:2017-4-10 10:01
CEC 输出数据始终和输出长度不匹配0 y; b4 |4 t' Z' X# ?: @5 p
1 h, y- x& H4 b* m9 ?
前言( R7 g+ ?, p: ~  }" ?9 Q: X
      客户反应使用我们的STM32F446 的CEC 库的时候,输出的数据和数据长度始终不匹配,跟电视通信不正常,如果输出的数据始终比长度多一个字节.客户试着按字节数减一去做输出,但是又不能输出一个字节的情况.  \5 W$ H2 `, I5 v+ ?  n7 j

' h5 n1 d# `1 J; H+ I
* c: d9 @/ v6 V. y6 \$ m调研
7 r3 H$ Z# W* u首先,我们来看看CEC 发送数据的过程:6 k4 y2 o+ H. ~3 [
    1,数据格式,包含一个起始位,header OPCODE 以及0 到14 个字节的OPERAND 数据.以及一个EOM 和ACK.. n* X3 E! Q# t: G7 L0 l1 p/ h, b
31.png 1 `, |  h, G& G" g6 v* r, k

" _) s0 }( |9 I$ F2 M( o' z) G6 i    2 发送过程: 从下面两个寄存器的描述来看,当我们发送最后一个字节之前,要将EOM 置位.而每一次发送数据的第四位时候,它会发出TXBR 的请求(请求发送下一个数据)/ l: q% d0 p, l- p) U1 R
32.png
( e+ K% \7 P( z. D, o6 _8 Y
# x0 p( p. d* m7 _, e    3 发送函数: 当客户在调用下面发送函数的时候,数据跟长度不匹配.! p: @9 l. [% m& P. C% u. g* n" h
             HAL_CEC_Transmit_IT(&hcec,InitiatorAddress ,DestinationAddress, (uint8_t *)&Tab_Tx, TxSize);% S( |# S3 N: |) J6 B
33.png ) N6 h2 b; s% p& u- W
   例如 :发送2 个字节(TxSize=2) 0x44 和0x43,但是我在后面发觉多出来一个字节(如下图),而如果我们将TxSize 设为1,反而数据发送正确. 从上面的函数来看,并没有什么错误.它仅仅开始发送了HEADER 和开始发送.
- {& c! {0 _* o1 R' Z' G; N
34.png
! E# l, v6 I+ F% S# \6 z* B) n5 `- u% L" P2 c. A
    4 中断处理函数:: G9 F, p$ q& h+ U
35.png
% x3 I: W+ e( [7 {5 S, g  x1 ?( Z. N2 _) n
从上面的函数来看当我们发送字节数大于0 的时候,他每次发送一个字节,而当等于0 的时候它置位EOM,并且再次放了一个字节进入TXDR,看到这里就明白了,错误出现在这里了,既然是发送字节为0 了,为什么还要放一个字节呢?这里应该是最后一个字节的时候,置位EOM 和发送一个字节数据,而当再次中断来这里SIZE 变为0 的时候什么都不做.
- t0 A* |2 i# x2 a6 I' q" o* d+ {4 x
解决方法:+ j/ e7 F3 {" |# d) d9 u
    按照下面的方法修改中断处理函数,送给客户验证,能够正常发送数据并且跟电视通信正常$ q3 w0 e  j9 q6 S/ B) b* q
36.png * _' ^$ L1 c! _$ H! H8 p
- P; k1 E0 A! H* o) O. G

2 }) Y6 s: N9 Y& L" k文档下载
$ @# M' X9 @* J7 f+ y9 U% r0 k  I/ E6 O8 S
更多实战经验
% J6 g  N) p/ V& R7 z* s; S* S
收藏 评论2 发布时间:2017-4-10 10:01

举报

2个回答
feixiang20 回答时间:2017-6-28 12:51:47
是说是开发者自己编写错误么
烛音 回答时间:2022-6-21 17:49:28
为啥我通过CEC给TV发命令,TV没反应3 B! |: K  J# s% m

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版