Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >位在UART传输期间消失

位在UART传输期间消失
EN

Stack Overflow用户
提问于 2020-04-12 22:20:46
回答 1查看 51关注 0票数 0

我开始了一个由PIC16f877A和TFT智能液晶显示器(中国品牌)的项目。我设计了一个代码来接口PIC和TFT来发送数据。TFT的协议被设计为一次发送8位,这是在程序中准备的。最初的结果是好的,但有一个小错误。传输的数据在传输过程中丢失了位,我找不到这个问题的答案。例如,我应该转移0x000290FA,但转移的代码变成0x000200FA。

这是项目的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
typedef unsigned char  BOOLEAN;
typedef unsigned char INT8U;
typedef unsigned short INT16U;
typedef unsigned long INT32U;
BOOLEAN HMT_WriteVPN32(INT32U Addr,INT32U Data);

void main() {

  UART1_Init(115200);               // Initialize UART module at 115200 bps
  Delay_ms(100);                  // Wait for UART module to stabilize

       HMT_WriteVPN32(0x00020000,0x000290FA);
       delay_ms (500);
       HMT_WriteVPN32(0x00020004,0x0008AD6D);
}

BOOLEAN HMT_WriteVPN32(INT32U Addr,INT32U Data)
{
    INT16U Hdata = 0, Ldata = 0;
    INT16U AddrH = 0, AddrL =0 ;
    INT16U AddrHH = 0, AddrHL = 0, AddrLH = 0, AddrLL = 0;
    INT16U HHdata = 0, HLdata = 0, LHdata = 0, LLdata = 0;
    if((Addr < 0x00020000) || (Addr > 0x0002FFFF))
    {
        return (FALSE);
    }

    AddrH = Addr>>16;                // Take high 16 data
    AddrL = Addr;                    // Lower 16 data

    AddrHH = AddrH >> 8;
    AddrHL = AddrH;
    AddrLH = AddrL >> 8;
    AddrLL = AddrL;

    Hdata = Data >> 16;   // Take the 32-bit high byte
    Ldata =  Data ;    // Take the 32-bit low byte

     HHdata =Hdata >> 6;
     HLdata = Hdata  ;
     LHdata = Ldata >> 6;
     LLdata = Ldata ;
    SendHead();                    // Send frame header
    UART1_Write(0x44);                // send command
    UART1_Write(AddrHH);
    UART1_Write(AddrHL);
    UART1_Write(AddrLH);
    UART1_Write(AddrLL);
    UART1_Write(HHdata);
    UART1_Write(HLdata);
    UART1_Write(LHdata);
    UART1_Write(LLdata);
    SendTail();                   // Send end of frame
    return (TRUE);
}
EN

回答 1

Stack Overflow用户

发布于 2020-04-29 03:12:02

当我将输入的数据类型更改为布尔HMT_WriteVPN32函数时,代码可以正常工作。

我应该输入long数据,但是我想输入float值,这是不能接受的

感谢你们与我一起解开这个谜团的努力

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61178973

复制
相关文章
2.3 基于FPGA的UART协议实现(二)简单UART传输FPGA实现
      图2 34 FPGA发送一帧串口数据(考虑波特率)   如果图2 34考虑 115200 的波特率,结果如图2 34所示,每一位数据都保持 434 个时钟,为此 Verilog 可以这样表示,如代码2 11所示:           代码2 11
碎碎思
2020/06/30
8260
2.3 基于FPGA的UART协议实现(二)UART传输时序分析
https://blog.csdn.net/Pieces_thinking/article/details/99234401
碎碎思
2020/06/30
1.2K0
串行通信(USART/UART)「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144690.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/30
6910
串行通信(USART/UART)「建议收藏」
可编程 USB 转串口适配器开发板 参数设置与修改
UART1 和 UART2 默认通讯参数为 9600,N,8,1,可通过以下关键字指令进行修改。[STU1]B N D S
河北稳控科技
2022/08/30
4780
可编程 USB 转串口适配器开发板 参数设置与修改
UART
UARTRS232 RS485 RS422区别RS232物理接口RS485物理接口RS422物理接口UART通信协议UART设计波特率产生模块发送模块接收模块顶层模块串口驱动下载
瓜大三哥
2020/05/29
1.3K0
UART接口简介_uart接口速度
UART即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),它是一种串行通信的物理接口形式。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。
全栈程序员站长
2022/11/04
1.2K0
UART接口简介_uart接口速度
UART串口协议_UART通信协议
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器。将数据由串行通信与并行通信间做传输转换,作为并行输入称为串行输出的芯片。
全栈程序员站长
2022/11/17
1.7K0
UART串口协议_UART通信协议
UART接口介绍_uart接口引脚定义
大家好,又见面了,我是你们的朋友全栈君。 UART接口介绍
全栈程序员站长
2022/10/05
8.6K0
UART接口介绍_uart接口引脚定义
UART和USART的区别(UART vs USART)[通俗易懂]
很多工程师都知道UART和USART都是一样的,没有区别。但实际上,两者彼此不同,并且具有不同的属性。
全栈程序员站长
2022/08/31
8.8K0
认识UART接口[通俗易懂]
—————————————————————————————————————————-
全栈程序员站长
2022/10/05
4.5K0
认识UART接口[通俗易懂]
UART协议详解
串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。 数据传送速率用波特率来表示,即每秒钟传送的二进制位数。例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/秒=1200波特。 数据通信格式如下图:
全栈程序员站长
2022/07/21
1.4K0
UART协议详解
Zynq中UART
Config =XUartPs_LookupConfig(UART_DEVICE_ID);
瓜大三哥
2019/11/05
2.2K0
Zynq中UART
终于搞清了:SPI、UART、I2C通信的区别与应用!
电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言。在电子产品中,这些语言称为通信协议。
FPGA开源工作室
2023/09/22
3.4K0
终于搞清了:SPI、UART、I2C通信的区别与应用!
UART介绍「建议收藏」
UART, Universal Asynchronous Receiver-Transmitter, 通用异步收发器;
全栈程序员站长
2022/10/05
2K0
UART介绍「建议收藏」
FIFO、UART、ALE解释
FIFO存储器 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器。
黑泽君
2018/10/12
1.6K0
msm8953 uart配置
设备启动后,却没有找到预期的/dev/ttyHSL3的设备节点。 这里想到的是先确认设备树是否修改正确。
全栈程序员站长
2022/09/27
7230
ARM(三).UART with FIFO(1)
ARM 处理器是英国 Acorn 有限公司设计的低功耗低成本的一款 RISC 微处理器
franket
2021/09/14
9970
Linux UART 开发指南
介绍 Linux 内核中 UART 驱动的接口及使用方法,为 UART 设备的使用者提供参考。
韦东山
2023/02/25
6.5K0
Linux UART 开发指南
13-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,IEEE754规约
https://www.cnblogs.com/yangfengwu/p/11100552.html
杨奉武
2019/07/03
7270
13-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,IEEE754规约
RC522读卡器 M1卡学习总结(二)
大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。 Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
全栈程序员站长
2022/09/28
1.3K0

相似问题

UART传输速度

20

串行传输UART延迟

311

Linux UART传输问题

11

UART采样传输速率

157

UART数据传输

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文