|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 L' e6 k* O! A# s9 ?
, Y& `2 J3 U3 `2 s1 U& Y: d, t这两天在学习FPGA的UART收发 结果一直卡在了接收上 程序写好了 但是调试总是和预期的不太一致 具体表现为 因为开发板有四位LED 因此程序中将接收的UART_DATA的低四位分配到LED上 通过LED的亮灭来观察接收的数据情况 调试发现发送0~9的数据显示都是正确的 但是发送a~f与LED亮灭情况就不一致了 百思不得其解 最后无奈之下 直接逻辑分析采RX的数据吧 串口调试助手100ms自动发送" l; {- k0 Y8 ]
# N) x- v0 H6 [2 Z
6 `# v# x9 y% b, F% ?$ q8 a7 y然后逻辑分析仪采集RX数据 & K4 c1 ~; P+ E% K! H) j2 P, u
! `6 B2 H2 t; m- e* K: A: n2 S6 r6 O
& J" [6 B, ?4 {# O$ A' i! P+ S
+ n/ c; [$ {' x1 i; z- N5 e$ _) e发现挺一致的啊 又有点凌乱了 忽然发现RX二进制码为0b01100001 这为嘛会对应为a呢
* n/ j0 | k3 |% Y& j# M
, I4 l& {% l9 a/ ~2 c! u7 C# E( L 6 S1 G1 N+ d2 Z( Y2 {5 }" W7 o
# P6 l2 K7 T: t# P& x# t. p
忽然醒悟原来是将采集到的数据以ASCII码形式显示了
( A8 v% i) j- e% h将上述二进制数转换为十进制确实为97 字符a确实对应ASCII值97 如此说来就是调试助手是发送的ASCII字符而不是我预期的十六进制数据undefined7 b- j- ~6 M G8 D! h7 X
* ]# T- ?: u) H1 z& R* K) V
好吧 换个串口调试助手' ?* ~, c% F! S* r4 _; |: ]) p
& x* O- q5 ^, R: P$ v0 i# x6 x9 \
z6 M5 l5 C& t- Y8 M+ P) S( G9 S% R, ?% `5 a5 @% s
重点是以十六进制发送
" c7 [2 g! J! @ m( @7 G( q. C( W0 q8 W5 [
逻辑分析仪采集下看看
( C. o9 G+ ]! z7 A3 ]. O4 ?: D- e: ?9 Y7 I+ T
+ X9 s$ s5 s+ n2 @
) S7 o; i" Y r' x* T5 Q好吧 总算给对应上了 3 [$ Q1 \, b0 Q+ m% n: Y# O8 q
|
|