




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、NIOS II的 UART NIOS II的UART 与通用串口兼容,用于可以设置自己的需求通信模式,比如波特率 奇偶校验 停止位 数据位和其他控制信号主要的寄存器有: txdata,rxdata,status control divisor endof packet,串口要说的东西其实不是很多,但是其确有很多很多的位定义,比如irrdy itrdy等等发送接受传输和错误检测等控制位,这里就不一一列出了,太多了,用的东西在中看名字大概也能看出来具体见头文件i nclude"altera_avalon_uart_regs.h"下面是我曾经用过的一个通信中断程序int hand
2、le_uart_interrupts(void* context, alt_u32 id) FILE *uart_file;uart_file=fopen("/dev/uart_0","r+");if (uart_file = NULL)printf("can't open uart_device!");return 0 ;uart_bufk+=IORD_ALTERA_AVALON_UART_RXDATA(UART_0_BASE);if(uart_bufk-1='f')char search20 = "
3、;s "uart_bufk-1='0'k=0;/printf("串口%s ", uart_buf);if (cur_panel.id = 0) search0 = 'c'if (strlen(uart_buf) = 2)search2 = '0'search3 = '0'if (strlen(uart_buf) = 6)search2 = '9'search3 = '0'strcat(search, uart_buf);strcpy(sendbuf, search);f
4、close(uart_file);return 0;仔细看看上面的程序,并与头文件i nclude"altera_avalon_uart_regs.h"中所定义的可用寄存器比较一下会发现,上述写法并不可取,上述程序接受数据是字符的依次读入,其实可以在控制位和发送接受寄存器的配合下,则可以很高效的写出通信程序,而不必像上面那样显得有点笨NIOS II的 PIO NIOS II 的定时器 如果你对单片机熟悉的话,那么NIOS II的定时器会很简单的理解,并很好的应用.定时器模块是NIOS 开发工具包的一个库组件,其可用于周期脉冲发生器或看门狗定时器.记得当时参加NIOS 竞赛的
5、时候发现很多的资料不仅老,而且少,所以我这里先把一些关键寄存器说一下(想到哪,说到哪,有点乱)NIOS 定时器模块是32位的内部定时器,以下寄存器均为16位.寄存器名 status 位0 : to位,内部计时器为0时,to 位置1位1: run位,内部计时器运行时,run位置1,否则0control 位0: ito 位,如果该位置1,则当状态寄存器的to 位置1(定时器溢出),计时器发出中断请求.若其置0,则不产生中断.位1: cont 位 内部计时器为0时,计时器重载preiodl和preiodh,若cont 为1,则定时器连续计时,只有写stop位停止,若cont 为0,则重载初值后,停止
6、计时.位2: start 见名知意位3: stop 见名知意periodl 计数器低16位periodh 计数器高16位snapl 计数器捕捉寄存器(读地位状态)snaph 计数器捕捉寄存器(读高位状态)对nios中的定时器的具体功能设定可以通过SOPC中进行相应勾选若需要watch dog的话,则在SOPC中选择Timer,在Preset configration选择 watch dog关于对看门狗的具体设置,则在头文件system.h中加以修改,具体如下:#define WATCH_DOG_NAME "/dev/watch_dog"#define WATCH_DOG_T
7、YPE "altera_avalon_timer"#define WATCH_DOG_BASE 0x00001020#define WATCH_DOG_SPAN 32#define WATCH_DOG_IRQ 0#define WATCH_DOG_ALWAYS_RUN 1#define WATCH_DOG_FIXED_PERIOD 1#define WATCH_DOG_SNAPSHOT 0#define WATCH_DOG_PERIOD 1#define WATCH_DOG_PERIOD_UNITS "ms"#define WATCH_DOG_RESET
8、_OUTPUT 1#define WATCH_DOG_TIMEOUT_PULSE_OUTPUT 0#define WATCH_DOG_MULT 0.001#define WATCH_DOG_FREQ 50000000若应用为计时器的话,则关于在NIOS IDE中的具体编程,在头文件 include "altera_avalon_timer_regs.h"中定义了所有的寄存器的地址,通过IOWR IORD等指令可以很方面的进行定时器的设计/* * License Agreement * * Copyright (c) 2003 Altera Corporation, San
9、Jose, California, USA. * All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to
10、 use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or su
11、bstantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT
12、 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. * * This agreement shall be governed in all respects by the laws of the State
13、 * of California and by the laws of the United States of America. * */#ifndef _ALTERA_AVALON_TIMER_REGS_H_#define _ALTERA_AVALON_TIMER_REGS_H_i nclude <io.h>/* STATUS register */#define ALTERA_AVALON_TIMER_STATUS_REG 0#define IOADDR_ALTERA_AVALON_TIMER_STATUS(base) _IO_CALC_ADDRESS_NATIVE(base
14、, ALTERA_AVALON_TIMER_STATUS_REG)#define IORD_ALTERA_AVALON_TIMER_STATUS(base) IORD(base, ALTERA_AVALON_TIMER_STATUS_REG) #define IOWR_ALTERA_AVALON_TIMER_STATUS(base, data) IOWR(base, ALTERA_AVALON_TIMER_STATUS_REG, data)#define ALTERA_AVALON_TIMER_STATUS_TO_MSK (0x1)#define ALTERA_AVALON_TIMER_STA
15、TUS_TO_OFST (0)#define ALTERA_AVALON_TIMER_STATUS_RUN_MSK (0x2)#define ALTERA_AVALON_TIMER_STATUS_RUN_OFST (1)/* CONTROL register */#define ALTERA_AVALON_TIMER_CONTROL_REG 1#define IOADDR_ALTERA_AVALON_TIMER_CONTROL(base) _IO_CALC_ADDRESS_NATIVE(base, ALTERA_AVALON_TIMER_CONTROL_REG)#define IORD_ALT
16、ERA_AVALON_TIMER_CONTROL(base) IORD(base, ALTERA_AVALON_TIMER_CONTROL_REG) #define IOWR_ALTERA_AVALON_TIMER_CONTROL(base, data) IOWR(base, ALTERA_AVALON_TIMER_CONTROL_REG, data)#define ALTERA_AVALON_TIMER_CONTROL_ITO_MSK (0x1)#define ALTERA_AVALON_TIMER_CONTROL_ITO_OFST (0)#define ALTERA_AVALON_TIME
17、R_CONTROL_CONT_MSK (0x2)#define ALTERA_AVALON_TIMER_CONTROL_CONT_OFST (1)#define ALTERA_AVALON_TIMER_CONTROL_START_MSK (0x4)#define ALTERA_AVALON_TIMER_CONTROL_START_OFST (2)#define ALTERA_AVALON_TIMER_CONTROL_STOP_MSK (0x8)#define ALTERA_AVALON_TIMER_CONTROL_STOP_OFST (3)/* PERIODL register */#defi
18、ne ALTERA_AVALON_TIMER_PERIODL_REG 2#define IOADDR_ALTERA_AVALON_TIMER_PERIODL(base) _IO_CALC_ADDRESS_NATIVE(base, ALTERA_AVALON_TIMER_PERIODL_REG)#define IORD_ALTERA_AVALON_TIMER_PERIODL(base) IORD(base, ALTERA_AVALON_TIMER_PERIODL_REG) #define IOWR_ALTERA_AVALON_TIMER_PERIODL(base, data) IOWR(base
19、, ALTERA_AVALON_TIMER_PERIODL_REG, data)#define ALTERA_AVALON_TIMER_PERIODL_MSK (0xFFFF)#define ALTERA_AVALON_TIMER_PERIODL_OFST (0)/* PERIODH register */#define ALTERA_AVALON_TIMER_PERIODH_REG 3#define IOADDR_ALTERA_AVALON_TIMER_PERIODH(base) _IO_CALC_ADDRESS_NATIVE(base, ALTERA_AVALON_TIMER_PERIOD
20、H_REG)#define IORD_ALTERA_AVALON_TIMER_PERIODH(base) IORD(base, ALTERA_AVALON_TIMER_PERIODH_REG) #define IOWR_ALTERA_AVALON_TIMER_PERIODH(base, data) IOWR(base, ALTERA_AVALON_TIMER_PERIODH_REG, data)#define ALTERA_AVALON_TIMER_PERIODH_MSK (0xFFFF)#define ALTERA_AVALON_TIMER_PERIODH_OFST (0)/* SNAPL
21、register */#define ALTERA_AVALON_TIMER_SNAPL_REG 4#define IOADDR_ALTERA_AVALON_TIMER_SNAPL(base) _IO_CALC_ADDRESS_NATIVE(base, ALTERA_AVALON_TIMER_SNAPL_REG)#define IORD_ALTERA_AVALON_TIMER_SNAPL(base) IORD(base, ALTERA_AVALON_TIMER_SNAPL_REG) #define IOWR_ALTERA_AVALON_TIMER_SNAPL(base, data) IOWR(
22、base, ALTERA_AVALON_TIMER_SNAPL_REG, data)#define ALTERA_AVALON_TIMER_SNAPL_MSK (0xFFFF)#define ALTERA_AVALON_TIMER_SNAPL_OFST (0)/* SNAPH register */#define ALTERA_AVALON_TIMER_SNAPH_REG 5#define IOADDR_ALTERA_AVALON_TIMER_SNAPH(base) _IO_CALC_ADDRESS_NATIVE(base, ALTERA_AVALON_TIMER_SNAPH_REG)#def
23、ine IORD_ALTERA_AVALON_TIMER_SNAPH(base) IORD(base, ALTERA_AVALON_TIMER_SNAPH_REG) #define IOWR_ALTERA_AVALON_TIMER_SNAPH(base, data) IOWR(base, ALTERA_AVALON_TIMER_SNAPH_REG, data)#define ALTERA_AVALON_TIMER_SNAPH_MSK (0xFFFF)#define ALTERA_AVALON_TIMER_SNAPH_OFST (0)#endif /* _ALTERA_AVALON_TIMER_
24、REGS_H_ */NIOS II DMA NIOS DMA同样是Altera SOPC Builder库组件DMA可用于存储器之间、存储器与外设、外设之间的数据传输,允许没有干预,完成固定长度或者可变长度的数据传输DMA外设通过两个Avalon主端口(一读一写)和一从端口控制。典型DMA传递过程如下:。通过写控制端口设置的数据传输方式。启动外设,实施数据传输(不干预)。读传输主端口从目标地址(内存或者外设)读取数据,写端口向目的地址(内存或者外设)写数据。读写之间通过进行数据缓冲。只指定字节数的数据传输完成或者传输了一个包结束()时,将结束传输。外设可以在传输结束时发出中断请求。传输当中或者
25、结束后,都可以通过查看的状态寄存器来判断传输在进行还是已经结束NIOS II常用函数详解IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏移量为REGNUM的单元里面的值。寄存器的值在地址总线的范围之内。返回值: 函数原型:IOWR(BASE, REGNUM, DATA)输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据函数说明:往偏移量为REGNUM寄存器中写入数据。寄存器的值在地址总线的范围之内。返回值: 函数原型:IORD_32
26、DIRECT(BASE, OFFSET)输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取32Bit的数据返回值: 函数原型:IORD_16DIRECT(BASE, OFFSET) 输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取16Bit的数据返回值: 函数原型:IORD_8DIRECT(BASE, OFFSET) 输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量函数说明:从地址位置为BASE+OFFSET的寄存器中直
27、接读取8Bit的数据返回值: 函数原型:IOWR_32DIRECT(BASE, OFFSET, DATA)输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入32Bit的数据返回值: 函数原型:IOWR_16DIRECT(BASE, OFFSET, DATA)输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入16Bit的数据返回值: 函数原型:IOWR_8DIRECT(BASE, OFFSET, D
28、ATA)输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入8Bit的数据返回值: Dma:函数原型:int alt_dma_rxchan_close (alt_dma_rxchan rxchan)输入参数:rxchan为接收信道函数说明:函数 alt_dma_rxchan_close ()通知系统:应用程序已经完成DMA接收信道rxchan,目前执行是成功的返回值: 成功返回为0,反之为1函数原型:alt_dma_rxchan_depth(alt_dma_rxchan dma)输入参数:dma函
29、数说明:函数alt_dma_rxchan_depth ()返回传送到特别DMA的最大数量(深度)的接收请求返回值: DMA的最大数量函数原型:int alt_dma_rxchan_ioctl (alt_dma_rxchan dma, int req, void* arg)输入参数:dma直接存储器名, req为请求操作的列举, arg由请求决定函数说明:通过DMA接收信道执行设备的具体I/O操作返回值: 成功返回请求具体值,反之返回为负数请求类型请求类型 请求类型说明ALT_DMA_SET_MODE_8 传输以8Bit为单位的数据,arg值忽略ALT_DMA_SET_MODE_16 传输以16
30、Bit为单位的数据,arg值忽略ALT_DMA_SET_MODE_32 传输以32Bit为单位的数据,arg值忽略ALT_DMA_SET_MODE_64 传输以64Bit为单位的数据,arg值忽略ALT_DMA_SET_MODE_128 传输以128Bit为单位的数据,arg值忽略ALT_DMA_TX_ONLY_ON (1) 软件控制下只能发送ALT_DMA_TX_ONLY_OFF (1) 自定义模式,软件控制下可以接收,发送ALT_DMA_RX_ONLY_ON (1) 软件控制下只能接收ALT_DMA_RX_ONLY_OFF (1) 自定义模式,软件控制下可以接收,发送函数原型:alt_dm
31、a_rxchan alt_dma_rxchan_open (const char* name)输入参数:name为常数字符指针,如/dev/dma_0函数说明:为DMA接收信道获得一个alt_dma_rxchan描述符返回值: 成功返回非0,反之返回为0函数原型:int alt_dma_rxchan_prepare (alt_dma_rxchan dma, void* data,alt_u32 length, alt_rxchan_done * done, void* handle)输入参数:dma使用的信道;data接收数据位置的指针;length最大的接收数据长度;done一旦数据被接收,
32、调用返回函数;handle,非透明值传到done函数说明:发送一个接收请求到DMA接收信道,返回值: 成功返回0,反之返回为负数函数原型:int alt_dma_rxchan_reg (alt_dma_rxchan_dev * dev)输入参数:dev接收信道设备名函数说明:给系统寄存DMA接收信道返回值: 成功返回0,反之返回为负数函数原型:int alt_dma_txchan_close (alt_dma_txchan txchan)输入参数:txchan发送信道名函数说明:通知系统:应用程序已经完成DMA发送信道txchan返回值: 成功返回0,反之返回为负数函数原型:int alt_d
33、ma_txchan_ioctl (alt_dma_txchan dma, int req, void* arg)输入参数:dma直接存储器名;req为请求操作的列举;arg请求的额外参数,由请求决定函数说明:通过DMA发送信道执行设备的具体I/O操作返回值: 成功返回请求具体值,反之返回为负数函数原型:alt_dma_txchan alt_dma_txchan_open (const char* name)输入参数:name为常数字符指针,如/dev/dma_0函数说明:为DMA发送信道获得一个alt_dma_rxchan描述符返回值: 成功返回非0,反之返回为0函数原型:int alt_dm
34、a_txchan_reg (alt_dma_txchan_dev* dev)输入参数:dev接收信道设备名函数说明:给系统寄存DMA发送信道返回值: 成功返回0,反之返回为负数函数原型:int alt_dma_txchan_send (alt_dma_txchan dma, const void* from,alt_u32 length, alt_txchan_done* done, void* handle)输入参数:dma使用的信道;data接收数据位置的指针;length最大的接收数据长度;done一旦数据被接收,调用返回函数;handle,非透明值传到done函数说明:发送一个发送请求
35、到DMA发送信道,返回值: 发送成功返回0,反之返回为负数函数原型:nt alt_dma_txchan_space (alt_dma_txchan dma)输入参数:dma 直接存储器名函数说明:返回被传送到具体DMA发送信道的发送请求数目返回值: 返回发送请求数目Flash函数原型:int alt_erase_flash_block(alt_flash_fd* fd, int offset, int length)输入参数:fd为具体的flash设备;offset擦除的flash模块的偏移量;length擦除的flash模块的长度函数说明:擦除单独的一个flash模块返回值: 发送成功返回0
36、,反之返回为负数函数原型:void alt_flash_close_dev(alt_flash_fd * fd)输入参数:fd为具体的flash设备函数说明:关闭flash设备返回值: 函数原型:alt_flash_fd * alt_flash_open_dev(const char* name)输入参数:函数说明:打开flash设备。一旦打开,函数alt_write_flash()用来写入,函数alt_read_flash()用来读取数据,或者使用函数alt_get_flash_info(), alt_erase_flash_block(), alt_write_flash_block(),
37、控制单个模块返回值: 失败返回0,成功其他值函数原型:int alt_get_flash_info(alt_flash_fd* fd, flash_region * info,int* number_of_regions)输入参数:fd flash设备;info指向flash_region结构体的指针;number_of_regions函数说明:得到擦除flash区域的细节返回值: 发送成功返回0,反之返回为负数函数原型:int alt_read_flash(alt_flash_fd* fd, int offset, void* dest_addr, int length)输入参数:dest_
38、addr目标地址指针函数说明:从flash偏移量为offset字节开始读取数据,写入到目标地址dest_addr中返回值: 成功返回0,反之为非0函数原型:int alt_write_flash(alt_flash_fd* fd, int offset, const void* src_addr, int length)输入参数:src_addr源地址;fd,flash设备;offset 偏移量;length字节长度函数说明:写数据到flsah中,要写的数据在源地址src_addr中返回值: 成功返回0,反之为非0函数原型:int alt_write_flash_block(alt_flash
39、_fd* fd, int block_offset, int data_offset,const void *data, int length)输入参数:fd;data_offset起始写数据的偏移量;length为要写数据的长度函数说明:写入到一个已擦除的flash模块返回值: 成功返回0,反之为非0Irq函数原型:alt_irq_context alt_irq_disable_all (void)输入参数:void函数说明:禁止所有中断返回值: 传递的值作为随后的函数调用的输入参数 函数原型:void alt_irq_enable_all (alt_irq_context context)
40、输入参数:先前调用函数alt_irq_disable_all (void)的返回值,函数说明:启动所有中断返回值: 函数原型:int alt_irq_enabled (void)输入参数:void函数说明:启动中断返回值: 禁止中断返回0,反之为非0函数原型:int alt_irq_register (alt_u32 id, void* context, void (*isr)(void*, alt_u32)输入参数:id,32位无符号数,中断使能;context和id是isr的两个输入参数;中断激活时调用isr函数说明:寄存一个isr返回值: 成功返回0,反之为非0函数原型:int alt_
41、write_flash(alt_flash_fd* fd, int offset, const void* src_addr, int length)输入参数:src_addr源地址;fd,flash设备;offset 偏移量;length字节长度函数说明:写数据到flsah中,要写的数据在源地址src_addr中返回值: 成功返回0,反之为非0函数原型:int alt_write_flash_block(alt_flash_fd* fd, int block_offset, int data_offset,const void *data, int length)输入参数:fd;data_o
42、ffset起始写数据的偏移量;length为要写数据的长度函数说明:写入到一个已擦除的flash模块返回值: 成功返回0,反之为非0函数原型:int close (int filedes)输入参数:filedes,描述符函数说明:标准的UNIX函数close(),关闭文件描述符filedes返回值: 成功返回0,反之为1函数原型:int open (const char* pathname, int flags, mode_t mode)输入参数:pathname, 路径名;flags,O_RDONLY或O_WRONLY 或O_RDWR,分别对应着只读,只写,或读写操作;mode,使用许可说明
43、函数说明:打开文件或设备,返回一个文件描述符(读写中使用的非负整数)返回值: 成功返回文件描述符,反之返回1函数原型:int read(int file, void *ptr, size_t len)输入参数:file文件描述符;ptr为读数据的位置指针,len读数据的长度,单位为字节函数说明:从文件或设备中读取数据块返回值: 成功返回读取的字节数,反之返回1函数原型:clock_t times (struct tms *buf)输入参数:buf结构体指针函数说明:兼容newlib,tms的结构体指针如下:type structclock_t tms_utime;clock_t tms_sti
44、me;clock_t tms_cutime;clock_t tms_sutime;tms_utime: CPU索取用户指令的执行时间tms_stime: CPU索取由系统表示的过程的执行时间tms_cutime:所有子进程tms_utime和tms_cutime的时间之和tms_sutime:所有子进程tms_stime和tms_sutime的时间之和返回值: 返回时钟数,没有时钟则返回0函数原型:int usleep (int us)输入参数:us,单位为微秒函数说明:直到us微秒后才解除阻塞,即其功能相当于延时us微秒返回值: 成功返回0,反之为1,有错误发生显示错误发生原因函数原型:in
45、t wait(int *status)输入参数: status 进程状态指针函数说明:功能是等候所有子进程退出,由于HAL不支持分散子进程,函数立即返回返回值: status内容清0,表明没有子进程;返回值为1,且errno置为ECHILD, 表明没有子进程等候函数原型:int write(int file, const void *ptr, size_t len)输入参数:file文件描述符;ptr为读数据的位置指针,len读数据的长度,单位为字节函数说明:往文件或设备写入数据块,返回值: 成功返回写入的字节数,也可能少于请求的长度;反之返回1,万一有错误发生,errno被设置为发生的原因数
46、据的标准类型类型 说明alt_8 符号8位整数alt_u8 无符号8位整数alt_16 符号16位整数alt_u16 无符号16位整数alt_32 符号32位整数alt_u32 无符号32位整数下面为自己整理函数原型:int fopen (char * file_name, way_use);输入参数:file_name文件名,way_use使用文件方式,比如r,w分别对应着读写函数说明:打开文件,对其进行某种文件操作返回值: 打不开则出错,返回一个空指针NULL函数原型:int fclose (fp)输入参数:fp的定义为:FILE *fp函数说明:关闭文件fp返回值: 成功返回0,反之为1(EOF)函数原型:int fread(void *ptr, int size, int count, FILE * fp);输入参数:buf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质量异常处理流程培训
- 《奇趣生物》课件
- 边境承包鱼塘合同协议
- 车位营销策划合同协议
- 轻质防爆墙销售合同协议
- 车位租赁合同安全协议
- 协议书楼盘认筹协议书
- 速贷超期合同解除协议
- 产品研发战略合作协议说明与说明
- 专业艺术品展览馆销售合同
- 《清华大学介绍》课件
- 铁路智能运维系统构建研究-洞察分析
- 滨州科技职业学院《遥感原理与应用》2023-2024学年第一学期期末试卷
- 城市老旧小区智能停车场的改造规划
- 《中药调剂技术》课件-发药常规与发药交代
- 外研版(2025新版)七年级下册英语Unit 6 学情调研测试卷(含答案)
- 急性心肌梗死的急救与护理
- 低年级数学“数学连环画”跨学科主题活动探索
- 《甲状腺肿》课件
- 2024华师一附中自招考试数学试题
- 部编版历史八年级下册第六单元 第19课《社会生活的变迁》说课稿
评论
0/150
提交评论