自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 嵌入式系统开发GPIO的输入输出配置

对于GPIO的配置,观察GPIO的输出引脚(LED的灯),GPIOD的输入引脚,我们接入开关对于管脚的声明#define LED1 1 << 17#define LED2 1 << 18#define LED3 1 << 19#define LED4 1 << 20#define KEY1 1 << 16 软延迟void DelayNS(uint32 dly){ uint32 i; for(; dly>0;dly

2021-12-24 20:18:23 874

原创 嵌入式开发系统外部中断

外部中断对于中断的表示我们采用led灯表示led灯管脚定义#define LED1 << 17#define LED2 << 18#define LED3 << 19#define LED4 << 20 软延迟void DelayNS(uint32 dly){ uint32 i; for(;dly>0;dly--) for(i=0;i<50000;i++);}主函数系统的外部中断只有四个int main(voi

2021-12-24 12:32:33 970

原创 嵌入式系统开发(马博) 定时计数电路

定时计数电路对于LPC2132,想要展示处自己定时计数的功能,我们最好的展现的方式,就是通过二极管(led灯)来观察。(因为疫情原因,马老师做了一个proteus的一个工程,可以进行仿真,如图我们可以看见灯接的是P0.17,P0.18,P0.19,P0.20)这时候我们就需要对于管脚进行功能定义:所以我们将P0.17配置成匹配功能的TIMER1(定时器1的二通道)代码为PINSEL1 = ( PINSEL1 & 0xfffffff3 ) | (0x3 << 2)此代

2021-12-23 21:50:22 406

原创 c语言你好

类型限定符限定量含义extern声明一个变量,extern声明的变量没有建立储存空间const定义一个常量,常量的值不能修改volatile防止编译优化代码register定义寄存器变量,提高效率,register是一个建议型指令,而不是命令型指令,如果cpu没有空闲的寄存器,那么register就不生效了字符串格式化输出和输入...

2021-12-23 16:39:28 303

原创 取经人在开始

辗转反侧很久,又是重新再来。一旦坏习惯的开始,就需要花很长时间慢慢的修正。—警言总结:1.集创赛:在集创赛中,自己做的是图像部分。在摄像头部分中,卡了半天。这由于正点原子官方中,他们家自己的摄像头是带有晶振,对于我们自己使用的摄像头,是需要我们FPGA给他输入一个晶振。在图像处理部分,一开始我们就需要分两帧图像做差,但是如何将两帧图像存储呢,于是在阅读一些代码后发现,我们可以关掉sdram乒乓操作后,就可以在一个bank的中存取,我们将高8位存入前一帧的灰度图像,低8位存入后一帧的灰度图像。这个高

2021-09-19 00:23:16 146

原创 ov5640摄像头

摄像头的信息对于摄像头的设置,就各种各样的,白平衡,分辨率。有效采样2592*1944=5038848像素点管脚作用类型pwdn掉电管脚,高有效inputreset低电平有效,复位inputsiocsccb时钟inputsiodsccb数据i/ovsyncdvp场同步信号i/oherfdvp摄像头输出的有效信号i/oxvclk系统时钟inputpclkdvp的像素时钟i/od*采集的数据i/o

2021-03-16 19:00:57 3939 3

原创 sdram总结

对于sdram,这是掉电会使数据消失的存储器。是通过电容来工作的。sdram里面会有几个bank,每次存储数据的时候,先选bank地址,在进行对其中的行,和列来选则。我们对于一个器件来说,了解使用说明手册,通过阅读,sdram需要设置初始化的,之后就是进行写,和读操作。但是对于这样掉电会消失的数据存储器,我们就需要对其中sdram,定时进行充电,这就是刷新。对其中sdram是一个器件,于是我们需要在fpga上弄出一个SDRAM控制,让控制器,对它进行初始化,刷新,读和写。要书写控制器,我们首先对它进行

2021-03-14 15:45:24 644

原创 ps2遥感使用

使用板子:安路开发板对其板子要求,不能够带满10v电压,采用遥感输入3.3v电压,pcf8591输入5v电压。首先要使用pcf8591,就需要看它使用手册,里面的芯片地址端为:1001+3位共地端+w/r,协议以iic主,采取读取pcf8591的数据,主机发送送器件地址后,之后一直采取遥感数据,不需要数据地址端。此次问题注意就是遥感带3.3v,pcf8591带5v,即可使用。观看数据方法,需要连接在led上,如果采取发送uart,会一直发送数据,不建议使用。module top( clk

2021-02-05 19:41:58 498

原创 FPGA图像采集

两个总线:DVP,SCCB总线DVP(传输数据流):是用于早期的图像采集,mipi这些都是应用手机,对于FPGA,DVP则是比较良好的传输协议。信号:PCLK,HREF,VSYNC,DATA(8位数据).与FPGA交互的信号,vsync,两个脉冲之间,产生hraf的高电平信号,则发送data数据,每一次hraf的高电平信号保持的时间,则是传输一行像素的颜色数据。对于色彩的识别,rgbg’rb这是四个像素块,一个像素只对一个颜色敏感,在4个像素块中进行运算,得出是那种颜色,

2021-01-30 19:06:28 1077

原创 FPGA竞赛了解

对于Robei杯,可重构机器人,以及robeiEDA软件的了解,设计流程大致是,在软件创建一个模块图形,给其声明管脚,对其模块在进行书写代码,但是对于输入输出信号就已经定死了,可自行进行仿真激励,对于模块引用,就是模块相连。很方便。过各种传感器,通信与控制,以及摄像头进行视觉识别,对于此次设计,协议则通过需要通过所学过uart,iic,spi协议进行传输,机器人的控制则是需要舵机,步进电机,还有一些很很多的传感器,温度,湿度,有了协议有了传感器,就有了FPGA与这些传感器的连接,处理很多事情。你有你想不到

2021-01-28 19:14:00 745

原创 数模转换了解

今天学习对于数模转换题目理解,AD,即为模拟信号转换为数字信号,DA,即为数字信号转为模拟信号,对于这次项目有pcf8591,和一个AD7705,都是AD,对于学习这些模块,都需要看学习手册,通过看一下管脚,对于spi协议理解,有四种协议状态。...

2021-01-27 22:51:15 167

原创 iic重新书写以及了解spi

此次iic,完全使用小梅哥的iic协议,对于iic仿真采用模拟EEPROM的存储器。与之前iic的写不一样的点。对其中,数据的采集,改变都是在稳定电平的中间。并在稳定的电平中间值的代码采用的,<<。always @(posedge clk_50m or negedge rst_n) begin if(!rst_n) begin scl_high <= 1'b0; scl_low <= 1'b0

2021-01-26 17:58:58 136

原创 iic理解修改

今天看了小梅哥的视频,对于iic的协议的重新认识,对于iic协议,在以前就是用在电视机上。可以通过调节,控制电子扫描范围等等一系列的。首先,对于协议来说,就是两个芯片相互交互的规则,无法修改,约定俗成。一个主控芯片,一个是从控芯片。需要定位好。对于昨天写的iic协议中,仅仅只有一个协议,自己连器件交流中,都没有区分开,昨天写的是一个对于eefrom,输入的scl,对于从机是输入,而对主机就是输出,需要好好理解,昨天写的从机的协议。对于传输协议,一定要最先理解,谁是发送,谁是接收,如何发送,发送的标记,

2021-01-25 20:24:20 198

原创 第十天 iic协议

今天学习的iic的协议,没用别的模块连接此iic协议,只有sda表示出的数据波形。module iic( clk, rst_n, key_wr, key_rd, data_in, scl, sda, data_out );input clk ;inpu

2021-01-24 20:05:01 180

原创 第九天 多字符的显示以及python条件判断

module vga_top( clk, rs232_rx, rst_n, key_1, key_2, vga_hs, vga_vs, vga_rgb, w_clk ); input clk ; input rs232_rx; input rst_n ; input key_1 ; input key_2 ; output vga_hs ; output vga_vs ; output [23:0] vga_rgb; output w_clk ;

2021-01-23 18:38:53 132

原创 第八天uart正确连接到vga多字符显示,问题总结

今天对于uart正确认识,对于安路的板子uart_rx,uart_tx端口反了,以及led灯是低电平有效。以后需要仔细观看板子的电路图,这次分模块进行的测试以及对于仿真图的好好使用。今天学习到,凡事都有有rst的引入,让它有初始值,如果没有初始值,对于一些位宽很长的数据,会在之后数据分赋值导致不可预估的后果。数据不稳定。所以需要我们很好的设计信号开始时候的数据。但是还有的一点是一些位数没有对齐,需要自己对其中条件修正。发送你好王鑫鑫FPGA!收到这样。module vga_display(

2021-01-22 19:43:36 414 3

原创 第七天 多字符显示对于uart识别连接

module vga_display( clk, data, vga_clk, rst_n, byte, done, state, x_pixel, y_pixel, pixel_data, add );input clk ;input [15:0] data ;input vga_clk ;input rst_n ;input [9:0] x_pixel ;input [9:0] y_pixe

2021-01-21 18:35:36 100

原创 第六天 多字符的全部显示,以及将屏幕分成两块,python学习

对于多字符全部显示对于昨天正确显示后,对其中代码进行扩充。reg [79:0] char [15:0];reg [79:0] char1 [15:0];reg [7:0] cnt ;reg [8:0] cnt2;reg [7:0] cnt3;reg [3:0] cnt4;wire [7:0] max;wire a;assign a= 'd1;assign max = 'd79;always@(posedge vga_clk or negedge rst_n) if(!

2021-01-20 19:44:27 240

原创 第五天 对于多字符的调整,以及coe文件创立,补充python

今天休息了。大致与学长研究了多字符显示,中字符从rom读取后显示问题。通过学习了ise仿真之后发现,只有当rom字符地址改变时,原地址的中第0位才会输出来data值。于是自己通过拓宽了状态机的一位,让它在第零位时不取data值,而在第一位取data值。module vga_display( data, vga_clk, rst_n, x_pixel, y_pixel, pixel_data, add );input [15:0] data ;input

2021-01-19 20:12:30 220

原创 第四天,对于PYNQ——Z2下板子,以及对于PYTHON理解

今天首先学习了,对于PYNQ板子的学习,下板子实验,对于pynq需要有以太网连接,和安装线的连接,以太网不需要网络也可以,有网络可以进行对安装包更新,完成对PYNQ的镜像,这次不同的是,不是以vivado驱动,是要以jupyter notebook 进行驱动。实验下板子实验出来流水灯,发现PYNQ是真的厉害,仅仅一个灯就可以闪亮不同的颜色,实在是太厉害了。对于让PYNQ上网让它ip和电脑ip在一个范围内还是出错的,以及让板子连接在路由器上,也是出错了。换另一种对路由器设置同一样的增加ip也是出错。vga

2021-01-18 19:26:53 382

原创 FPGA第三天

Anaconda(蟒蛇)介绍python3 会一直更新 python2 已经稳定不更新anaconda 一个具有很多库,并且带有python3,仅仅有python3是不够的,他是一个python大礼包,自带各种库,还不停更新,如果只有python那他就一个光杆司令,没有指挥的东西。还有在其他下载的地方在网页版可以写python的环境,蟒蛇anaconda安装此软件会惹乱别的python,需要卸载别的conda list 查看安装的库1.在anaconda prompt通过pip可以自己下载2

2021-01-17 19:30:23 211 2

原创 分享的第二天

对于多字节的uart接收多字节的数据,传送到rom,再将rom里面的数据给到vga。问题:通过串口接收,发送到板子的数据,在板子怎么能够取模。取模不是应该在电脑进行图形描述才可以生成对应的数据。总结:今天学习了,vga显示模块显示中的黑块移动https://blog.csdn.net/qq_41467882/article/details/87078721每次对于黑块的移动,使用了1秒计时器,每一秒,进行(左上角的)坐标点,加减,之后对于在一个规定的范围内显示黑色的区域,每一秒随着(左上角的)坐标

2021-01-16 20:24:06 148

原创 FPGA学会分享

1.启发与灵感2.方法与进度3.结果与心得4.管理与协作在学FPGA时,喜欢与坚持,面前有时容不了,划水,伸手党。对于这些导致自己对分享的模糊,开始讨厌分享一些自己学得的心得。当我不在跟别人分享的时候,慢慢地发现自己的编程能力下降了,不像之前之前思想很活跃,能够很独立的思考,自己慢慢的敲下。现在而是第一时间就去在csdn上找代码看代码,而不是自己写代码,自己去精进。在我看到了芯片工程师老石,介绍的《SHOW YOUR WORK》,对于这些慢慢很有深有体会,有时你不需要很厉害就可以分享,这不是不骄

2021-01-15 21:02:57 150

原创 第七天 第二次 数据存储方式和范围

计算机内存数值存储方式原码一个数的原码(原始的二进制)有如下特点:最高位做为符号位,0表示正,为1表示负其他数值部分就是数值本身绝对值的二进制数负号的原码是在其绝对值的基础上,最高位变为1+15 0000 1111-15 1000 1111反码对于正数,反码与原码相同对于负数,符号位不变,其它部分取反(1变0,0变1)反码运算不方便,通常用来作为求补码的方式中间过度...

2019-12-05 15:50:21 95

原创 第七天 第一次 进制转化

进制转化二进制二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2.当前的计算机系统使用的基本上二进制系统,数据在计算机中主要是以补码的形式储存的。术语含义bit(比特)一个二进制代表一位,一位只能表示0或1两种状态,数据传输是习惯以“位”(bit)为单位Byte(字节)一个字节为8个二进制,称为8位,计算机中存储的最小单...

2019-10-20 13:48:00 105

原创 第六天 第二次

实型(浮点型):float、double单精度浮点数(float)双精度浮点数(double)double型变量所表示的浮点数比float变量更精确由于浮点型变量是由有限的储存单元组成的,因此只能提供有限的有效数字。在有效数字外的数字被舍去,这样可能会产生一些误差。不以f结尾的常量是double类型,以f结尾的变量(如3.14f)是float类型#include<stdio.h&...

2019-10-14 17:07:43 83

原创 第六天 第一次

字符型:char字符变量的定义和输出字符型变量用于一个存储一个单一字符,在c语言中用char表示,其中每一个字符变量都会占用一个字节。在给字符型变量赋值时,需要用一对英文半角格式的单引号(’ ')把字符括起来字符变量实际上并不是把字符本身放到变量的内存单元中去,而是将该字符对应的ASCII(美国信息交换标准代码)编码放到变量的储存单元中。char 的本质就是一个1字节大小的整型#incl...

2019-10-14 16:24:15 98

原创 第五天 第一次

整形大小和取值范围short、int、long、long long数据类型占用空间short(短整型)2字节int(整型)4字节long(长整型)Windows4字节,Linux位4字节(32位),8字节(64位)long long(长长整型)8字节注意整形数据在内存占的字节数应用于所选的操作系统有关。虽然c语言标准中没有明确规定整型数据的...

2019-10-12 14:44:37 111

原创 第四天 第一次

整形的定义和输出整形变量的定义和输出打印格式含义%d输出一个有符号的10进制int类型%o(字母o)输出8进制的int类型%x输出一个16进制的int类型,字母以小写输出%X输出一个16进制的int类型,字母以大写输出%u输出一个10进制的无符号数#include<stdio.h>int main(void){ //...

2019-10-10 15:49:44 82

原创 第三天 第三次

IDE集成开发环境IDE用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境数据类型常量与变量32 关键字数据类型关键字(12)char short int long float doubleunsigned signed ...

2019-10-07 15:32:54 75

原创 第三天 第一次

c语言编译过程和执行过程c程序编译过程预处理:宏定义展开(define)、头文件展开(系统的标准库展开)、条件编译(系统的是几位),同时将代码中的注释删除,这里不会检查语法编译:检查语法,将预处理后文件编译成汇编文件(汇编语言)汇编:将汇编文件生成目标文件(二进制文件)链接:c语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的程序中去一步编译gcc -o hello....

2019-10-07 11:47:52 107

原创 第三天 第二次

c语言编译过程c程序编译步骤1 预处理:宏定义展开、头文件展开(将include 的头文件展开成巨大函数)、条件编译(考虑操作系统几位,以及用的什么标准库)等,同时将代码中的注释删除,这里并不检查语法。2 编译:检查语法,将预处理后文件编译生成汇编文件。(将c语言转成汇编语言)3 汇编:将汇编文件生成目标文件(二进制文件)。4 链接: c语言写的程序是需要依赖各种库的,所以编译之后还需要...

2019-10-07 09:29:11 81

原创 c语言第二天

system 函数 调用系统的命令 cmdsystem 函数的使用#include<stdlib.h>int system(const char*command)功能:在已经运行的程序中执行另一个外部程序参数:外部可执行程序名字返回值:成功:0失败:任意数字#include<stdlib.h>#include<stdio.h>int...

2019-10-06 18:49:30 73

原创 第一天 第二次

学习hello world学习 还有其他细节讲解#include (包含一个内容或者导入一个内容)<(导入内容 )std (标准库) io ( 标准输入输出库) .h (头文件)>int(整形变量)main (){printf(“hello world”);renturn 0; 0是反馈值}注意程...

2019-10-05 21:42:47 116 1

原创 c语言第一天

初入c语言一 了解课程二 语言介绍语言是人与人交流,c语言是人与机器交流。机械语言 0101组合汇编语言 可以逆向工程c语言 比较高级一点开发慢java c++…大型的后台服务器就是使用c语言写的嵌入式 智能冰箱,彩电的遥控网络安全 ai出现导致,安全更为重要语言有自己独特的规则和定义,双方必须遵循哲些规则和定义才能真正实现交流1 c语言特点(1)优点1 代码量...

2019-10-05 16:23:44 168

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除