- 博客(33)
- 收藏
- 关注
原创 GoWin—Tang Nano BSRAM使用方法
Bypass(绕过)读模式:在 Bypass 读模式下,SRAM 的读操作是直接从存储单元读取数据,并将其输出到读取端口。"Normal"、"Write-through" 和 "Read-before-write" 是 SRAM(静态随机存储器)中常见的三种操作模式,用于描述读取和写入操作的行为。Normal(普通模式):在普通模式下,读取和写入操作是基本的、标准的操作方式。而如果对吞吐量要求较高,可以选择 Pipelined 读模式,即使在单个读取操作的延迟较高的情况下,整体的读取效率仍然可以得到提升。
2024-03-24 22:55:31
604
原创 GoWin—逻辑分析仪
至此逻辑分析仪的基本配置完成了,control + s 保存,然后进行综合编译。首先创建一个逻辑分析仪的配置文件。编译完成后打开逻辑分析仪主界面。此处设置的触发条件是>=5,
2024-03-24 18:29:52
505
原创 GoWin-Tang Nano 9K 时钟分频之直接例化法
直接例化法和IP调用法虽然实现方式不用,但最后的效果是相同的。复制完后就可以把IP调用的文件删除掉。先复制以下代码部分到主文件中。
2024-03-24 11:03:36
189
原创 GoWin-Tang Nano9K IP核调用
该IP模块的作用是分频器,分频系数设置为2时为2分屏,比如原理周期1s,经过二分频后周期变为2s。将系统时钟和复位信号作为分频器的输入,将分频器的输出作为LED功能块的输入时钟信号。首先我们会看到一个软件生成的相应IP的例化例子,将其复制后便可以关闭该文件。该文件是我们刚刚创建出来的,后续要修改分频系数可在这修改。然后新建一个wire变量,用于输出分频后的时钟。然后会到主文件,将复制内容粘贴进去。
2024-03-24 10:40:13
272
原创 GoWin-Tang Nano 9K 新建工程及代码烧录
最后设置复位按键引脚,按键任选一个,然后找到其在开发板上的引脚标号。找到开发板原理图上外设引脚标号,填入location对应位置中。完成配置进入主页后会显示我们开发板信息。会到界面后rerun再次编译。参照开发板参数配置选项。创建verilog文件。设置完后要先保存再关闭。
2024-03-24 10:22:16
422
原创 git上传代码
然后配置新生成的.git文件中的config文件,要是.git没显示,勾选如下选项。然后编辑config,添加user内容,其中name为github名字。然后打开git-bash,切换到要上传的代码文件夹所在位置。首先在github上新建一个工程,点击左上角头像然后选择。然后到github新建好的工程上复制链接。代码就上传完成了,到如下位置查看。
2024-03-10 13:03:07
178
原创 windows 远程ssh 登录linux 网络连接超时
该方法适用于已经配置过的ssh服务,当电脑休眠、重启或关机再开机后windows ssh 远程登录ubuntu失败,此前都是正常使用。该方法是我尝试了多次后最有效的方法。
2023-09-11 12:48:08
1234
原创 stm32f103中断函数配置
②调用stm32f10x_gpio.h中的 GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource),以PC13为例,改为GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13);④清除中断标志位,在 stm32f10x_exit.h 中有 EXTI_ClearITPendingBit(uint32_t EXTI_Line) 这个函数。将配置好的结构体参数写入。
2023-07-14 13:41:48
387
原创 蓝牙模块AT指令
HC-05模块:将模块上按钮按下的同时连接至电脑,LED灯慢闪,说明模块进入AT指令测试模式,若不按按钮直接接入电脑,其LED灯会快闪,此时进入正常模式。HC-06模块:该模块无按键,直接连至电脑后若没被连接则默认处于AT指令模式,此时LED灯处于常亮状态,若被连接则LED处于慢闪状态。AT+UART=你要设置的波特率,1,0:设置波特率,返回ok说明设置成功。AT+PSWD=你要设置的密码:设置通信密码,返回ok说民设置成功。AT+NAME=你要设置的名称:返回ok说明设置成功。AT:启动,返回OK。
2023-07-12 11:36:27
3653
1
原创 MPU6050
MPU6050还集成了三个独立的陀螺仪,可以测量物体绕X、Y和Z轴旋转的角速度。:MPU6050采用了先进的数字运算和传感器校准算法,具有较低的功耗。:MPU6050内置了三个独立的加速度计,可以检测物体在X、Y和Z方向上的加速度变化。它可以提供精确的加速度和角速度数据,可以实现高精度的姿态估计和运动跟踪。配置MPU6050模块时它的从机地址有两个,具体选按一个取决于硬件ADO引脚的高低电平。注意:每个数据都由两个字节构成,因此每个数据都对应一个低8位寄存器和一个高8位寄存器。
2023-07-12 10:54:41
710
原创 SPI通信
I2C和SPI发送数据时都是先发高位后发低位,I2C传输完数据后需要应答位,但SPI传输完数据后不需要应答位,直接开始传输下一个数据,同时SPI也无起始和终止信号。从机的工作模式是由出厂时设定,主机若要保证能和从机进行正常通信据必须按照设置其模式和从机一致。极性决定空闲时刻电平(即开始前电平状态),相位决定其采样时刻,即第几个沿采样。UART发送数据时先发低位,后发高位。MOSI:主设备输出从设备输入。MISO:从设备输出主设备输入。CS:片选,用于寻址。
2023-07-12 10:39:29
190
原创 Finalshell上传文件失败或者进度总为百分之零解决方法
3.然后再右键第一个窗口的窗口名,选断开,或者直接关闭第一个窗口。4.之后你就可以在第二个窗口正常上传文件了。1.首先连接主机,然后切换到root用户。2.然后右键当前窗口的窗口名,选复制标签。
2023-06-29 19:09:12
12639
28
原创 人工神经网络之BP算法
BP算法也叫反向传播算法,是深度学习的核心算法之一,通过反向传播以链式法则快速计算梯度值,然后通过梯度下降的方法去训练神经网络,通俗讲就是从结果向输入用链式法则更新参数,从而让结果不断趋向于期望值。
2023-06-03 15:20:39
163
原创 GCC编译
④链接:链接目标代码(.o文件代码),同时将可链接的二进制代码和所需的库函数链接在一起,生成可执行文件。③汇编:将汇编语言转换成可链接的二进制代码(机器代码),生成.o文件。②编译:包含了预处理,将c程序转换成了汇编语言,生成.s文件。①预处理:加入头文件.h,替换源代码中的宏。
2023-05-18 19:29:43
79
原创 我的128天创作纪念日
刚开始的创作是为了记录一些学习的内容,俗话说好记性不如烂笔头,这有助于我下次经行项目工作时可以快速查阅到已学但遗忘的相关知识。同时我认为一个真正的技术大佬是在日积月累中慢慢发生脱变的,所以我想通过在csdn进行创作来沉积我的项目经验,想要在量的加持下逐渐走向技术的顶峰。在csdn我见识了很多大牛的高强技术,关注了很多与我领域相关的博主,通过吸取他们总结出的经验来不断完善自我。我现在是一名大二的学生,当前创作是为了记录我的学习过程,因此作品中可能有很多的错误,也希望你大家能在评论区不吝指正。
2023-05-18 09:25:41
65
原创 linux系统u盘的修复、格式化及文件拷贝方法
当我们在linux中想要查看u盘的挂载点时 输入 lsblk ,一般位于sda的下方,有sdb或sdc(可能会变化),若想要复制文件到u盘中就需要先创建一个文件夹用于挂载u盘,可以在/mnt目录下创建相应文件夹,例如我在/mnt目录下创建了一个usb1用于挂载u盘,当我u盘挂载上这个文件夹后我向这个文件夹里复制文件就是在向u盘里复制文件,故具体步骤为。④退出挂载u盘的文件夹(因为在u盘挂载的文件夹中无法解除u盘挂载,会显示target is busy,此时只需要切出该目录即可完成u盘解挂)
2023-05-16 23:24:56
2062
原创 pmon命令
10.加载命令load(我们可以在不同位置来加载内核,如:内存,ssd,u盘,tftp,nand),比如用u盘来加载内核,先用devls查看u盘节点(DISK类型),然后输入 load /dev/fs/fat@usb0/u盘中内核镜像的位置 (其中fs代表文件系统或内核,不论加载文件系统或加载内核,都需要输入fs,fat为u盘格式,usb0为u盘节点)在ssd中加载内核的命令为: load /dev/fs/ext2@wd0/ssd中内核镜像的位置。
2023-05-03 20:54:56
1408
原创 Makefile
当使用make时,若后面没有目标,默认第一个目标(即文件中的第一个目标),如需要执行非第一个目标的命令时需要 make 目标,但如果目标名与文件名重复,那么此时就无法执行目标,所以需要将目标定义为假想目标,此时它便不会判断是否存在与目标名相同的文件并处理。上述编译方法仅编译了.c类型的依赖文件,但实际项目中还会存在.h文件,但并非所有.o文件都具有.h类型依赖文件,所以首先我们需要找到对应依赖文件。d:将指定文件中的某类型文件全部替换为指定类型文件,如下将.c文件替换为.d文件。
2023-04-23 16:05:51
195
原创 MQTT的定义和特性
①相互可独立:MQTT的客户端是彼此独立的存在,他们之间互不影响但可借助于服务端实现信息的交流,也就是说服务端像一个中间人,它帮助这两个素未谋面的陌生人(客户端)进行信息的“交易”(订阅和发布)。③时间可异步:客户端之间信息的发送和接收不需要在同一时间进行,因为发送信息的客户端可以先把数据发到服务端,当相应接收的客户端连接服务器后,服务端再把信息发送给它。②空间可分离:只要MQTT客户端连接到了同一个网络,二者之间的空间距离便可忽略(即不受空间距离限制进行信息交流),该网络可以实互联网或者局域网。
2023-04-06 22:36:50
275
原创 AT24C02芯片
若是只用到一个AT24C02,那么可以将A0/A1/A2都接地(因为这三位是用来区分不同的AT24C02,不需要区分时可接地)。AT24C02是以EEPROM为存储介质的一种存储器,它可以永久保存单片机运行时的数据(掉电不丢失),其通讯接口为IIC总线,容量为256字节。AT24C02的地址为7位高四位为1010,低三位由A0/A1/A2的电平决定,除去这七位外的一位用来选择读写方向,其为最低位,它与地址无关。当我们要向芯片写入数据时,R/W=0,其地址为1010 0000,即为0xA0。
2023-02-10 11:39:47
2660
原创 I²C通讯
接收应答:主机向从机发送完一个字节后接收由从机发来的应答信号,0表示应答,1表示非应答,需要注意的是在主机发送完后需要释放SDA,让从机接管SDA。I²C通讯中主机负责启动数据并产生时钟信号,主机可寻址从机与其建立通信,数据传输时由高字节到低字节。发送应答:主机接受完从机发来的信号后向从机发送一位数据,0表示应答,1表示非应答。终止信号: 当SCL=1时,SDA为上升沿。起始信号:当SCL=1时,SDA为下降沿。
2023-02-10 11:38:46
160
原创 蜂鸣器及其原理
无源蜂鸣器内部不含振荡电路,需输入脉冲信号才可发声,但因为脉冲频率可调,可通过输入不同频率的脉冲信号发出不同的音色和音调的声音,若改变输出电平的高低电平占空比,可调节蜂鸣器声音的大小。因为蜂鸣器所需的驱动电流比较大,51单片机的IO口输出无法达到其驱动电流,因此需使用ULN2003D芯片来驱动,当P2_5输入高电平时,BEER输出低电平,此时蜂鸣器可发声,若P2_5输入一个低电平,则BEER输出一个高电平,此时蜂鸣器不发声,ULN2003D类似于一个非门。如图为C调音符对应频率的定时器初值。
2023-01-20 12:08:58
10752
原创 DS1302时钟模块
需要注意的是数据字节为两位BDS编码(两位BDS编码说明DS1302只能输出两位数,最大为99,若要显示年份只能显示后两位),八个字节被分为前后各四个,前四个表示十位,后四个表示个位,当个位二进制对应的值等于10时需要向前四位进1,例如 当 0000 1001(十进制为9)加一后变为 0001 0000,0001 0000 在十进制中表示16,但在BDS码中其表示10。左列自上往下对应的分别对应秒、分、时、日、月、星期、年和读保护,其对应的模式为从DS1302中读出相应数据并送至IO口。
2023-01-13 14:07:34
3820
原创 74HC595模块原理
当收到外界的一个数据date时(16进制数),取其第8位放入SER,将SERCLK置1,让移位寄存器向下移动一位,将SER中的数据装入移位寄存器最顶端,然后将SERCLK置0。此时,date的第7位位于移位寄存器的最顶端,第8位位于第7位的下面,重复以上步骤,循环8次后date被存入移位寄存器,此时将RCLK置1,将移位寄存器中的date送到QX各个端口,再将RCLK置1,以便下一个date的发送,这就完成了串行通信转并行通信。使用模块前需先将模块初始化,将SERCLK和RCLK都置0。
2023-01-11 20:24:36
481
1
原创 串口通信及中断
异步通信以帧为单位传送数据,由于每帧数据都具有起始位和停止位所以两帧数据之间的间隔时间不影响数据传送和接收的准确率,但是每帧数据内的各个二进制位间是以固定时间间隔传输的,即每个二进制位都有固定的传输速率,这个速率即为比特率,当一个码元仅表示0和1两种状态时(通信中常用时间间隔相同状态来表示一个二进制数字,这样的信号称为码元,而波特率表示每秒钟传输了多少个码元),一个码元等于一个二进制比特位,此时波特率与比特率大小相同,若是发送和接收双方的波特率不同,则会导致数据出现偏差。:收发双发只能实现数据单向传输。
2023-01-11 13:49:02
3885
原创 外部中断原理
中断也可以嵌套,例如CPU正在处理某个低优先级的中断时发生了更高优先级的中断请求,那么CPU会先去处理高优先级的中断请求,处理完毕后再继续处理低优先级中断请求,最后再返回主程序中断点继续执行下面的程序。IT0和IT1:选择中断触发的方式,当ITX=1时为下降沿触发,即发生电平下降就触发,若发生抖动则会多次触发,当ITX=0时为低电平触发,即当外部输入低电平时触发,若外部输入持续为低电平则会多次触发。PX0和PX1:选择优先级,例如:当PX1=1时,设定外部中断1为高优先级中断。
2023-01-11 12:38:30
1995
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人