草庐IT

TM1621/HT1621 段码LCD驱动器

TM1621和HT1621是兼容的,下面统称TM1621。TM1621是一个32x4的LCD驱动器,也就是说它最多能驱动128段段码。四线串行接口一般我们不使用读数据的功能,所以用到的数据引脚只有/WR、/CS、DATA先定义使用到的引脚#defineCS_CLR HAL_GPIO_WritePin(LCD_CS_GPIO_Port,LCD_CS_Pin,GPIO_PIN_RESET)#define CS_SET HAL_GPIO_WritePin(LCD_CS_GPIO_Port,LCD_CS_Pin,GPIO_PIN_SET)#defineDATA_CLR HAL_GPIO_WritePi

RTL8211F 硬件配置

RTL8211F引脚分布,为了节省PCB板面积,减少引脚,对部分引脚进行了复用。 MDO通信地址配置:地址配置为4供电模式配置:供电模式配置为采用内部LDO()供电,电压1.8V。ALDPS(AdvancedLinkDownPowerSaving),当连接断开时进入省电模式。采用3.3V供电时,RTL8211F(I)功耗为43.8mW,RTL8211FD(I)功耗为90mW。设置为当断开连接时关闭内部PLL。关闭RX/TXDELAYLED功能由软件配置  设置LED0为1000MHzLINK,LED1为1000MHzACTIVE/LINK功能,需要设置Page0xd04寄存器16为0X036B

ARM开发之基于IIC协议的TM1650驱动实现(模拟IIC实现)

目录一、内存映射1、什么是内存映射?为什么要内存映射?2、gec6818如何进行内存映射?(相关的函数)3、内存映射代码 :二、模拟IIC的底层代码实现1、配置输入输出方向2、拉高拉低引脚3、获得总线传回的数据4、协议的实现三、TM1650的使用1、TM1650简介2、TM1650怎么驱动?2.1控制命令 2.2显存地址 2.3对显存地址写数据时序四、针对TM1650实现的IIC驱动1、TM1650模块驱动(完整驱动代码)2、驱动测试程序3、Makefile4、Linux操作关键词:1、模拟IIC协议2、S5P68183、ARM内存访问控制4、TM1650数码管本片博客记录在gec6818平台

Atlas200关于RTL8211FSI和YT8521SH千兆以太PHY调试心得

最近调试了一个硬件千兆以太PHY的问题,记录一下。问题现象描述:两块Atlas200板卡,上电后,ping不通,但是插网线连接电脑的话,电脑能识别这个网卡,所以感觉还是MAC和PHY之间的通信出了问题。一块板卡用的是RTL8211,另一块是YT8521SH,两个PHY芯片是封装完全兼容的。 实施步骤:1.先测量外部的25Mhz晶振,正常         2.测量PHY芯片的核压,1V/1.2V,正常.顺便说一下,这个核压是一个DC-DC电路,外部的的电感和电容需靠近芯片布局,否则会出现电压不正常现象。         3.接口为1.8V,不正常,经过排查发现是配置电压不对,修改后正常。心得:之

idea报错Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated

最近在使用idea的时候,idea总是显示警告信息:JavaHotSpot(TM)64-BitServerVMwarning:Options-Xverify:noneand-noverifyweredeprecatedinJDK13andwilllikelyberemovedinafuturerelease. 我的解决办法是:第一步:选择下图的  Edit Configurations第二步:然后在跳转出的界面中找到  Enable launchoptimization  将其前面的对勾取消掉即可  最终来看看效果:    没有了,解决了 [转载衔接](https://blog.csdn.ne

研究开源gpt-2-simple项目,跑一个简单的模型,然后生成一段对话。用的是 Intel(R) Core(TM) i7-9700,8核8线程,训练最小的模型200次跑1个小时20分钟

目录前言1,关于gpt2的几个例子学习2,使用docker配置环境3,使用uget工具下载模型,文件大容易卡死4,研究使用gpt2-simple执行demo,训练200次5,总结前言本文的原文连接是:https://blog.csdn.net/freewebsys/article/details/108971807未经博主允许不得转载。博主CSDN地址是:https://blog.csdn.net/freewebsys博主掘金地址是:https://juejin.cn/user/585379920479288博主知乎地址是:https://www.zhihu.com/people/freewe

STM32-TM1640-点数码管计数

数码管功能说明:在哔哩哔哩跟随UP主铁头山羊学习,所有代码均来自铁头山羊B站课堂或者根据铁头山羊代码修改。利用TM1640芯片,串行通信方式,STM3两个GPIO进行通信。功能说明1、两个GPIO进行通信,GPIOA_PIN–DIN;GPIOA_PIN1—CLK。2、通信方式主要是串行通信方式,通信方式软件编写:读懂时序图,包括起始位、数据位、结束位。在输入数据时当CLK是高电平时,DIN上的信号必须保持不变;只有CLK上的时钟信号为低电平时,DIN上的信号才能改变。数据的输入总是低位在前,高位在后传输。数据输入的开始条件是CLK为高电平时,DIN由高变低。结束条件是CLK为高时,DI

STM32-TM1640-点数码管计数

数码管功能说明:在哔哩哔哩跟随UP主铁头山羊学习,所有代码均来自铁头山羊B站课堂或者根据铁头山羊代码修改。利用TM1640芯片,串行通信方式,STM3两个GPIO进行通信。功能说明1、两个GPIO进行通信,GPIOA_PIN–DIN;GPIOA_PIN1—CLK。2、通信方式主要是串行通信方式,通信方式软件编写:读懂时序图,包括起始位、数据位、结束位。在输入数据时当CLK是高电平时,DIN上的信号必须保持不变;只有CLK上的时钟信号为低电平时,DIN上的信号才能改变。数据的输入总是低位在前,高位在后传输。数据输入的开始条件是CLK为高电平时,DIN由高变低。结束条件是CLK为高时,DI

c++ - mktime() 函数 : increasing tm_hour count by one 的令人困惑的行为

我正在执行下面的代码。intmain(){structtmstorage={0,0,0,0,0,0,0,0,0};char*p=NULL;p=(char*)strptime("2012-08-2512:23:12","%Y-%m-%d%H:%M:%S",&storage);charbuff[1024]={0};strftime(buff,1024,"%Y-%m-%d%H:%M:%S",&storage);cout如果执行上述程序,它会打印“2012-08-2513:23:32”而不是“2012-08-2512:23:32”。请帮助,为什么它会增加tm_hour值。如果我在程序中输入日期

c++ - mktime() 函数 : increasing tm_hour count by one 的令人困惑的行为

我正在执行下面的代码。intmain(){structtmstorage={0,0,0,0,0,0,0,0,0};char*p=NULL;p=(char*)strptime("2012-08-2512:23:12","%Y-%m-%d%H:%M:%S",&storage);charbuff[1024]={0};strftime(buff,1024,"%Y-%m-%d%H:%M:%S",&storage);cout如果执行上述程序,它会打印“2012-08-2513:23:32”而不是“2012-08-2512:23:32”。请帮助,为什么它会增加tm_hour值。如果我在程序中输入日期