首页 > 其他分享 >zynq7000 I2C RTC 与 串口使用

zynq7000 I2C RTC 与 串口使用

时间:2023-08-03 18:11:12浏览次数:58  
标签:zynq7000 RTC RS485 内核 串口 I2C 对应

 

RS485 串口 测试

硬件上2路串口,其中UART 1对应PS STD IN/OUT,UART 0对应RS485;

图示, 示意图

描述已自动生成

图 ‑1 RS485电路,自动转换输入、输出方向

可参考 https://blog.csdn.net/qq_39400113/article/details/122387133

图片包含 图表

描述已自动生成

图 ‑2 使能2路串口

文本

描述已自动生成

图 ‑3 先查看串口设备状态

其中0 对应UART 串口,1对应RS485接口;

代码参考

https://stackoverflow.com/questions/18633871/unable-to-read-serial-port-uart

uart的设置参数很多,需要完整设置才能正常工作起来。

RTC测试

板上enable 了RTC,RTC是I2C接口

图示, 示意图

描述已自动生成

图 ‑1 RTC电路

使用PS EMIO连接RTC

图示

描述已自动生成

图 ‑2 EMIO I2C

然后,需要在system-user.dtsi设备树添加I2C节点,其中compatible 属性值参考当前linux 内核的RTC驱动,reg 对应RTC芯片设备地址,参考芯片手册。

&i2c0 {

clock-frequency = <100000>;

 

rtc@32 {

compatible = "epson,rx8010";

reg = <0x32>;

};

};

文本

描述已自动生成

图 ‑3 RTC8010 内核驱动属性

图形用户界面

低可信度描述已自动生成

图 ‑4 RTC设备地址,其中bit 0忽略,然后整体右移1bit,高位补0

其次,要在内核配置时,enable 对应的驱动。

图形用户界面, 文本, 应用程序

描述已自动生成

图 ‑5 enable RTC内核驱动

然后编译,启动,使用hwclock指令查看RTC时间

图 ‑6 hwclock指令查看RTC时间(当前没有对准)

标签:zynq7000,RTC,RS485,内核,串口,I2C,对应
From: https://www.cnblogs.com/xingce/p/17604095.html

相关文章

  • 串口通信
    UART、I2C、SPI、USB的异同点#通信协议#​​​​​名称引脚双工时钟电平设备通信距离传输速率USARTTX、RX全双工异步单端点对点远(最多1200m)慢(波特率设置)I2CSCL、SDA半双工同步单端多设备(一主多从,寻址)近慢SPISCLK、MOSI、MISO、CS全双工同......
  • I2C死锁产生机理与解决方法
    在I2C实际使用过程中,最容易出现的一个问题就是死锁,其主要表现为:SCL持续为高,SDA持续为低。产生机理I2C死锁产生的机理是:当Slave输出应答信号或者输出数据0时,Master发生异常复位,此时SCL会保持或被释放为高电平,但因为Slave没有复位,就会继续应答,保持SDA为低电平,直到SCL变为低电平;Ma......
  • SerialPort串口操作类C#实现
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.IO.Ports;namespacecommunicationComm{/********************************************************************************//打开串口(打开串口后不能修......
  • stm32串口USART 硬件流控(转载)
    尊重原创,分享学习,内容来源:stm32串口USART硬件流控--学习笔记-国产零零柒-博客园(cnblogs.com)    流控的概念源于RS232这个标准,在RS232标准里面包含了串口、流控的定义。大家一定了解,RS232中的“RS”是RecommendStandard的缩写,即”推荐标准“之意,它并不像......
  • HC32F460串口波特率设置19200,函数返回ErrorInvalidParameter
    今天,在调试项目的时候,遇到设置串口2波特率为19200的时候,USART_SetBaudrate(M4_USART2,19200)函数返回 ErrorInvalidParameter,导致程序陷入了死循环,配置程序如下:voidUSART2_LIN_Config(void){#ifdefLIN_EN#ifdefHC32_MCUstc_usart_uart_init_tstcInitCfg;......
  • 使用Java进行串口通信
    引言 由于java的平台无关特性使得串口编程很困难。因为串口需要一个与特定平台实现的标准的API,而这对于java来说很困难。不幸的是,Sun在java的串口通信上没有太多关注。Sun已经定义了一个叫做JavaComm的串口通信API,但它的实现却不是javaSE(标准版)的一部分。Sun只为少数java平台提......
  • iTOP-i.MX6ULL开发板Qt 串口编程
    本章内容对应视频讲解链接(在线观看):QT上位机开发之串口助手(上)→B站搜索标题→【北京迅为】嵌入式学习之QT学习篇QT上位机开发之串口助手(下)→B站搜索标题→【北京迅为】嵌入式学习之QT学习篇本节我们使用Qt来编写一个简单的上位机。实验介绍:组装ui界面,使用Qt提供的串口类......
  • stm32CubeIDE 串口UART+DMA+空闲中断接收不定长数据
    一、概述串口使用时,有时候会有接收不定长数据的需求,这时候用DMA+空闲中断的方式是最好的方法。二、cubeide的配置串口按照需求配置后,添加一个串口接收的DMA,如下图 三、代码编写部分1、在串口init函数 MX_UART4_Init(void)的末尾用户代码区域添加使能空闲中......
  • 编写设备驱动之i2c_client -10
    编写设备驱动之i2c_client参考资料:Linux内核文档:Documentation\i2c\instantiating-devices.rstDocumentation\i2c\writing-clients.rstLinux内核驱动程序示例:drivers/eeprom/at24.c本节代码:GIT仓库中IMX6ULL\source\04_I2C\03_ap3216c_okSTM32MP15......
  • 编写设备驱动之i2c_driver -9
    参考资料:Linux内核文档:Documentation\i2c\instantiating-devices.rstDocumentation\i2c\writing-clients.rstLinux内核驱动程序示例:drivers/eeprom/at24.c本节代码:GIT仓库中框架:IMX6ULL\source\04_I2C\02_i2c_driver_exampleSTM32MP157\source\A......