当前位置: 首页 > news >正文

空包自己可以做物流信息的网站wordpress评论框制作

空包自己可以做物流信息的网站,wordpress评论框制作,wordpress 500 - 内部服务器错误,网站开发工程师前景分析目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助… 目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助手。 二、 Hello Nios-II 2.1 Nios-II编程 2.1.1 硬件 Ⅰ 搭建环境 新建工程选择开发板 进行模块添加和连接 分配地址 Generate Ⅱ 编写代码 新建Verilog文件 module uart(input clk,input reset_n,//uart的接收和发送端input rxd,//接收output txd//发送 ); endmodule配置 进入qip文件的第一个verilog文件 根据模块信息在顶层文件里增加 hello_nioII u0 (.clk_clk (clk), // clk.clk.reset_reset_n (reset_n), // reset.reset_n.uart_rxd (rxd), // uart.rxd.uart_txd (txd) // .txd);完整代码为: module uart(input clk,input reset_n,//uart的接收和发送端input rxd,//接收output txd//发送 );hello_nioII u0 (.clk_clk (clk), // clk.clk.reset_reset_n (reset_n), // reset.reset_n.uart_rxd (rxd), // uart.rxd.uart_txd (txd) // .txd);endmodule 编译 配置管脚 2.1.2 软件 修改hello_world.c #include stdio.h #include unistd.h #include system.h #include alt_types.h #include altera_avalon_uart_regs.h #include sys\alt_irq.halt_u8 txdata0; alt_u8 rxdata0;//UART中断服务函数 void IRQ_UART_Interrupts(){rxdata IORD_ALTERA_AVALON_UART_RXDATA(UART_BASE);//将rxdata寄存器中存储的值读入变量rxdata中txdata rxdata;//串口自收发将变量rxdata的值赋给txdatawhile(!(IORD_ALTERA_AVALON_UART_STATUS(UART_BASE) ALTERA_AVALON_UART_STATUS_TRDY_MSK));//查询发送准备接收信号如果没有准备好则等待IOWR_ALTERA_AVALON_UART_TXDATA(UART_BASE,txdata);//发送准备好发送txdata }//中断初始化函数 void IRQ_init() {//清除状态寄存器IOWR_ALTERA_AVALON_UART_STATUS(UART_BASE, 0);//使能接收准备中断给控制寄存器相应位写1IORD_ALTERA_AVALON_UART_CONTROL(UART_BASE);alt_ic_isr_register(UART_IRQ_INTERRUPT_CONTROLLER_ID,//注册ISRUART_IRQ,//中断控制器标号从system.h复制IRQ_UART_Interrupts,//UART中断服务函数0x0,//指向与设备驱动实例相关的数据结构体0x0);//flags保留未用 }int main() {/*while(1){IOWR_ALTERA_AVALON_UART_TXDATA(UART_BASE, hello world!\n);int i0;while(i5000){i;}}*/IRQ_init();while(1);return 0; } 配置 报错 若遇到类似情况请按住ctrl然后左键单击#include 里面的system.h找到UART部分 发现是URAT_0_BASE把helloworld.c里面的UART_BASE修改为URAT_0_BASE就行 2.1.3 烧录 Ⅰ硬件 Ⅱ 软件 2.2 verilog编程 编译烧录以下代码就行 timescale 1ns/1nsmodule rs232 (input wire sys_clk , //系统时钟50MHzinput wire sys_rst_n , //全局复位input wire rx , //串口接收数据output wire tx //串口发送数据 );//********************************************************************// //****************** Parameter and Internal Signal *******************// //********************************************************************// //parameter define parameter UART_BPS 20d9600 , //比特率CLK_FREQ 26d50_000_000 ; //时钟频率localparam BAUD_CNT_MAX CLK_FREQ/UART_BPS ; //wire define wire en_h_flag; wire [7:0] po_data; //接收的数据 wire po_flag; //接收完1字节数据标志位,高电平有效 wire flag; //识别到接收数据与密码对应标志位 wire tx_flag; //发送完1字节数据标志位,高电平有效 reg [39:0] datain_reg; //存储接收的数据,5字节 reg [47:0] dataout_reg;//存储的要发送的数据,6字节 reg [1:0] state; //状态位 reg [7:0] data_tx; //发送的1字节数据 reg en_tx; //发送允许标志位 reg [2:0] tx_cnt; //发送字节计数器,发送6个后置0 reg en; //发送控制开关 reg [12:0] baud_cnt; //收到发送成功的tx_flag后延迟1个波特 reg bit_flag; //计满1baud有效 reg work; //波特计数器baud_cnt有效 //********************************************************************// //*************************** Instantiation **************************// //********************************************************************// //------------------------ uart_rx_inst ------------------------ uart_rx #(.UART_BPS (UART_BPS ), //串口波特率.CLK_FREQ (CLK_FREQ ) //时钟频率 ) uart_rx_inst (.sys_clk (sys_clk ), //input sys_clk.sys_rst_n (sys_rst_n ), //input sys_rst_n.rx (rx ), //input rx.po_data (po_data ), //output [7:0] po_data.po_flag (po_flag ) //output po_flag ); always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)en 1b1;else if(en_h_flag)en 1b1;else if(tx_cnt3d5)en 1b0; //接收数据寄存 always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)datain_reg 40d0;else if(po_flag)datain_reg {datain_reg[31:0],po_data[7:0]};//接收到tx_flag后,延迟一个baud时间再发送下一个 always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)work 1b0;else if(tx_flag)work 1b1;else if(state ! 2d2)work 1b0;always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)baud_cnt 13d0;else if((baud_cnt BAUD_CNT_MAX - 1) || en_tx)baud_cnt 13b0;else if(work)baud_cnt baud_cnt 1d1;always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)bit_flag 1b0;else if(baud_cnt BAUD_CNT_MAX - 1)bit_flag 1b1;else if(state ! 2d2) bit_flag 1b0;//hello的ASCII码 assign flag (datain_reg 40h68656c6c6f)? 1b1:1b0;always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)beginstate 2d0;dataout_reg 48h6e692c68616f;//ni,hao的ASCII码data_tx 8d0;en_tx 1b0;tx_cnt 3d0;endelsecase(state)2d0:beginif(flag en)state 2d1;elsestate 2d0;end2d1://发送数据beginstate 2d2;data_tx dataout_reg[47:40];en_tx 1b1;dataout_reg dataout_reg 8;end 2d2://等待数据发送完成,并计数1beginif(bit_flag)beginif(tx_cnt3d5)beginstate 2d0;tx_cnt 3d0; endelse beginstate 2d1;tx_cnt tx_cnt 1d1; end endelsebeginen_tx 1b0;state 2d2;endend default : state 2d0;endcase //------------------------ uart_tx_inst ------------------------ uart_tx #(.UART_BPS (UART_BPS ), //串口波特率.CLK_FREQ (CLK_FREQ ) //时钟频率 ) uart_tx_inst (.sys_clk (sys_clk ), .sys_rst_n (sys_rst_n ), .pi_data (data_tx ), .pi_flag (en_tx ), .tx (tx ), .tx_flag (tx_flag ) );endmodule 三、 心得体会 通过本次实验我更深刻地理解了Nios II软件编程和Verilog硬件编程在FPGA设计中的应用和区别。Nios II软核提供了一个通用的处理器环境可以使用高级语言如C/C进行编程易于理解且开发效率较高。而Verilog则是一种硬件描述语言它允许我直接控制硬件行为更适合于对性能要求较高的应用。 硬件环境的搭建与配置 在Nios II编程部分我学会了如何使用Quartus软件和Platform Designer或Qsys来搭建硬件环境包括选择适当的开发板、添加必要的硬件模块如Nios II处理器、存储器、UART等并进行模块间的连接和参数配置。这个过程对理解整个系统的硬件架构非常有帮助。 软件编程与硬件的交互 在软件编程部分我学习了如何在Nios II软核上编写C语言程序并通过HAL库函数来控制硬件设备如UART进行串口通信。同时我也意识到了软件编程中对硬件地址和中断控制器标识符的正确引用的重要性。 遇到的问题及解决 在实验过程中我遇到了几个问题包括硬件地址未定义、中断控制器标识符未声明等。通过查阅文档、检查硬件设置和代码我学会了如何定位并解决这些问题。这些经验对于我未来解决类似的问题非常宝贵。 Verilog编程实践 在Verilog编程部分我编写了一个简单的UART收发模块并实现了基本的串口通信功能。这个过程加深了我对UART工作原理和Verilog语言的理解。 总体来说这次实验不仅增强了我的动手实践能力也加深了我对FPGA设计、Nios II软核开发以及跨平台串口通信等知识的理解。通过解决实际遇到的问题我获得了宝贵的学习和成长经验。未来我希望能将这些知识和技能应用到更复杂的项目中以进一步提升我的专业技能。
http://www.dnsts.com.cn/news/115376.html

相关文章:

  • 网站开发产品设计书新公司取名字大全免费
  • 深圳深圳龙岗网站建设网页制作工具按其制作方式分可以分为哪几种
  • 做网站价格多少钱seo关键词库
  • 住房与城乡建设部建设环境工程技术中心网站上海闵行网站建设
  • 成都做网站设计公司价格电子商务网站建设具体方案
  • 哪家网站专门做折扣销售做网站源码需要多少钱
  • 学校网站的建设论文做网站前的准备工作
  • 绥化网站开发公司wordpress 插件页面
  • 建动画网站需要多少钱成立网站
  • 网站建设十年杜绝模板wordpress 蛋彩画主题
  • 网站建设中管理员登录的代码怎么写用什么来网站开发好
  • 济南智能网站建设报价wordpress 七牛云 ssl
  • 自己做的网站访问不搭建织梦网站视频教程
  • 深圳高端网站建设收费中国最大网站排名
  • 网站后台怎么修改代码天津网站制作推广
  • 电子商务网站整体策划哪里可以接公司外包业务
  • 手机版刷赞网站建设上海公共招聘网
  • 网站建设推销话术案例网站建设客户分析
  • 网站建设公司推销网站备案类型及条件
  • 北京网站关键词开发微网站和小程序
  • 一个网站内容怎么规划wordpress 海贼王
  • 安丘做网站的温州网站优化排名
  • 汽车之家 网站建设河南中原建设网站微信群
  • 苏州培训网站建设网站产品 模块
  • 广州网站制作怎么选有网站开发经验怎么写简历
  • 网站建设客户定位邯郸做网站xy0310
  • 电子商务网站软件平台杭州做网站的好公司
  • seo网站架构在什么网站可以做推广
  • 单页网站制作软件seo搜索优化怎么做
  • 做网站用哪个软件商城网站建设哪家效益快