1、cj431电压基准芯片,2.5v2、电平标准3、驱动器74HC245(为增强PWM的驱动负载能力)4、增加输入端的抗干扰能力:在芯片的输入端加上拉电阻加电源或者下拉电阻接地,没有用到的采样端口尽量不要悬空。
5、D/A电路方案通用扩展语言GEL和c相似,但是有所不同。
GEL语言是C语言的一个子集。
与c语言不同的是gel不需要指定函数返回值的类型。
Gel中的while语句和c中的while语句相同,gel不支持标准c的break和continue语句6、一个完整的dsp工程包括头文件(.h),库文件(.lib),源文件(.c),以及配置文件.Cmd使用关键字MENUITEM可以在gel菜单下选择用户自定义的菜单项,然后用hotmenu、dialog或slider等关键字,在这个新的下拉菜单中添加新的菜单项。
7、关于添加文件遇到的问题8、变量查找:edit→find:Ctrl+f9、调试时,添加断点的快捷方法如下点击图上的小手即可10、单步调试第一个的意思是单击一步走一步,第二个的意思是指在单步运行时遇到子函数不进入子函数内部进行而是把它当成一步来执行,第三个的意思是当执行到子函数内部时使用这个按钮就可以执行完剩下的部分返回上一层函数。
如果想在一个窗口内同时看到c和汇编,则有操作View→mixed source/asm 11、观察变量右击变量→add to watch window 可以得到变量的值、类型、地址等。
12、位域定义、结构体以及共同体的知识结构体先定义再声明Union SCIFFCT_REG {Uint16 all;Struct SCIFFCT_BITS bit;};//---------------------------------------------------------------------------// SCI Register File://Struct SCI_REGS {Union SCICCR_REG SCICCR; // Communications control register Union SCICTL1_REG SCICTL1; // Control register 1Uint16 SCIHBAUD; // Baud rate (high) registerUint16 SCILBAUD; // Baud rate (low) registerUnion SCICTL2_REG SCICTL2; // Control register 2Union SCIRXST_REG SCIRXST; // Receive status registerUint16 SCIRXEMU; // Receive emulation buffer registerUnion SCIRXBUF_REG SCIRXBUF; // Receive data bufferUint16 rsvd1; // reservedUint16 SCITXBUF; // Transmit data bufferUnion SCIFFTX_REG SCIFFTX; // FIFO transmit registerUnion SCIFFRX_REG SCIFFRX; // FIFO receive registerUnion SCIFFCT_REG SCIFFCT; // FIFO control registerUint16 rsvd2; // reservedUint16 rsvd3; // reservedUnion SCIPRI_REG SCIPRI; // FIFO Priority control};//---------------------------------------------------------------------------// SCI External References & Function Declarations://Extern volatile struct SCI_REGS SciaRegs;Extern volatile struct SCI_REGS ScibRegs;由于scihbaud和scilbaud定义时为unit16型的,所以不能用.all或者.bit 的方式来访问,只能直接给寄存器整体进行赋值。
非常方便的功能:如下图,不用记那么多的寄存器了寄存器文件的空间分配(1)使用data section方法将寄存器文件分配到数据空间(2)数据段映射到寄存器对应的存储空间条件编译预处理程序提供了条件编译的功能。
可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。
这对于程序的移植和调试是很有用的。
条件编译有三种形式,下面分别介绍:1.第一种形式:#ifdef 标识符程序段1#else程序段2#endif它的功能是,如果标识符已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。
如果没有程序段2(它为空),本格式中的#else可以没有,即可以写为:#ifdef 标识符第七章存储器的结构、映像及cmd文件的编写总线结构为哈佛结构什么叫分页机制?/article/09-05/71862s.html分页机制在段机制之后进行,以完成线性—物理地址的转换过程。
段机制把逻辑地址转换为线性地址,分页机制进一步把该线性地址再转换为物理地址。
分页机制管理的对象是固定大小的存储块,称之为页(page)。
分页机制把整个线性地址空间及整个物理地址空间都看成由页组成,在线性地址空间中的任何一页,可以映射为物理地址空间中的任何一页(我们把物理空间中的一页叫做一个页面或页框(page frame))。
使用段的好处在于实现模块化编程Cmd文件的编写:1、注释支持:/* */但不支持//,有些关键字必须大写如SECTIONS/MEMORY2、通过MEMORY伪指令来指示存储空间和SECTIONS分配存储空间。
格式如下:SECTIONS{/* Allocate program areas: */.cinit : > FLASHA PAGE = 0.pinit : > FLASHA, PAGE = 0.text : > FLASHA PAGE = 0Codestart : > BEGIN PAGE = 0Ramfuncs : LOAD = FLASHD,RUN = RAML0,LOAD_START (_RamfuncsLoadStart),LOAD_END (_RamfuncsLoadEnd),RUN_START (_RamfuncsRunStart),PAGE = 0Csmpasswds : > CSM_PWL PAGE = 0csm_rsvd : > CSM_RSVD PAGE = 0/* allocate uninitialized data sections: */.stack : > RAMM0 PAGE = 1.ebss : > RAML1 PAGE = 1.esysmem : > RAMH0 PAGE = 1/* For SDFlash to program these, they must be allocated to page 0 */.econst : > FLASHA PAGE = 0.switch : > FLASHA PAGE = 0/* allocate IQ math areas: */IQmath : > FLASHC PAGE = 0 /* Math Code */IQmathTables : > ROM PAGE = 0, TYPE = NOLOAD /* Math Tables In ROM *//* .reset is a standard section used by the compiler. It contains the *//* the address of the start of _c_int00 for C Code. /*/* When using the boot ROM this section and the CPU vector *//* table is not needed. Thus the default type is set here to *//* DSECT */.reset : > RESET, PAGE = 0, TYPE = DSECTVectors : > VECTORS PAGE = 0, TYPE = DSECT}烧到FLASH中时,程序运行速度将大大降低,因此希望一些对时间要求较精准的子程序在RAM中运行。
那又如何做到呢??1、在FLASH.CMD中划分一段来设置RAM的载入和运行地址2、在源文件中利用调用函数memcpy()将FLASH中的内容复制到RAM中运行。
3、在头文件中定义新变量F2812片内拥有18k*16位的ram空间和128k*16位的flash空间第八章时钟和系统控制1、振荡器和锁相环时钟就像人的心跳一样,对于系统而言他是很重要的。
通过软件实时的配置片上外设时钟,片内有较高的时钟频率而片外可以运行在比较低的频率上面。
常用第三种情况:使能,当PLLCR不为0时,写10进去则可获得最大的时钟频率150MHZ。
看门狗电路的基本原理:看门狗电路和一个I/O口连接,通过程序控制该口向看门狗电路送入高电平或者低电平,这些控制看门狗电路的语句分散在程序中,起到一个监测的作用。
在程序跑飞的情况下,可以使复位,程序从头开始执行。
向看门狗密钥寄存器8位(WDKEY)写0X55+0XAA的理解0X55+0XAA=255,使WDCNTR计数器清除强调顺序:先写0X55再写0XAA,0X55使能,0XAA清除LPMCR(1-0)的不同决定了四种不同的功耗模式外设时钟控制寄存器PCLKCR能控制片内各种时钟的工作状态外设时钟控制寄存器系统与控制状态寄存器高速外设时钟预定标寄存器(HISPCP)→HSPCLK低速外设时钟预定标寄存器(LOSPCP)→LSPCLK 低速时类似PLL控制寄存器第9章通用输入/输出多路复用GPIOGPIO寄存器一共分为两大类:一类是控制寄存器:主要由功能控制寄存器GPxMUX,方向控制寄存器GPxDIR,输入限定控制寄存器GPxQUAL组成。
另一类是数据寄存器:主要由数据寄存器GPxDAT,置位寄存器GPxSET,清除寄存器GPxCLEAR和取反寄存器GPxTOGGLE 组成。