第二章TMS320F2812的C语言编程.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C语言编程1C语言类型(P35)2运算符3程序控制结构(1)if语句(2)switch语句(3)while语句(4)for语句4数组5指针6函数C语言编程6结构体传统的寄存器定义方式采用#define方法#defineSCICCRA(volatileuint16*)0x7050#defineSCICTL1A(volatileuint16*)0x7051访问:*SCICCRA=0x0003;对整个寄存器写操作*SCICCRA|=0x0001;使能接受位结构体定义式:Struct结构名 {类型mame1:长度; 类型mame2:长度; … };C语言编程举例:Structbs { inta:8; intb:2; intc:6; };structbsbs1;bs1.a=0x04;bs1.b=0x2;C语言编程SCI串行通信接口SCICCRA:SCIA的通信控制寄存器,016bC语言编程利用结构体定义方式定义寄存器structSCICCR_BITS{ uint16SCICHAR:3; uint16ADDRIDLE_MODE:1; uint16LOOPBKENA:1; uint16PARITYENA:1; uint16PARITY:1; uint16STOPBITS:1; uint16rsvd1:8; };先定义类型,后定义变量structSCICCR_BITSbit;访问:bit.SCICHAR=7;//SCI字符长度控制位为8位C语言编程7共同体(与结构体定义相同)unionSCICCR_REG{ uint16all;//对寄存器整体操作 uint16SCICCR_BITSbit;//实现位操作 };SCICCR_REG是联合名,成员包括all(整型)和bit(结构SCICCR_BITS类型的变量)。定义类型后,定义变量unionSCICCR_REGSCICCR;访问:SCICCR.all=0x007F; SCICCR.bit.SCICHAR=5;定义了一个SCICCR寄存器,还要定义其他SCI的寄存器C语言编程例:SCI寄存器的结构体文件structSCI_REGS{ unionSCICCR_REGSCICCR; unionSCICTL1_REGSCICTL1; uint16SCIBAUD; … unionSCIRXBUF_REGSCIRXBUF; uint16rsvd1;//保留 … };定义变量structSCI_REGSSCIbREGS;C语言编程对寄存器进行操作 SCIbREGS.SCIPRI.bit.FREE=1; SCIbREGS.SCICTL1.all=0x0023;指向结构的指针 struct结构名*指针名 structSCI_BITSbit; structSCI_BITS*P; P=bit;那么bit.SCICHAR(*P).SCICHARP_SCICHAR相同,表示指针指向结构中的成员补充:.cmd文件C语言编程8其他(1)文件包含#include文件名#includemath.h(2)条件编译 #ifndef标示符 #ifndefDSP_ADC_H #define标示符#defineDSP_ADC_H 语句 语句 #endif #endif(3)C中嵌汇编 asm(“NOP”);//空指令 asm(“EALLOW”);//寄存器写保护*DSP

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档