第4章b基于S3C2410的硬件结构与接口编程.pptx

  1. 1、本文档共154页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于S3C2410的硬件结构与接口编程;ARM自带的10位A/D转换器;编程注意事项如下。 (1)A/D转换的数据可以通过中断或查询的方式来访问,如果是用中断方式,全部的转换时间(从A/D转换的开始到数据读出)要更长,因为中断服务程序返回和数据访问的原因。如果是查询方式则要检测ADCCON[15](转换结束标志位)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据。 (2)A/D转换开始的另一种方式是将ADCCON[1]置为1,这时只要有读转换数据的信号A/D转换就会同步开始。 (3)与AD相关的寄存器 ① A/D采样控制寄存器ADCCON及其位描述(参见表4-77、表4-78) ;ARM自带的10位A/D转换器;ARM自带的10位A/D转换器;A/D转换器在扩展版的接法;【例4-5】 调节A/D转换测试程序。 功能:调节A/D转换时的输入电位器,从串行口0输出A/D转换结果数值。 主参考代码如下: ? int main(void) { int i,j; float d; ARMTargetInit(); //开发版初始化 init_ADdevice(); //A/D初始化 Uart_Printf(0,\n); While?(1); { for(i=0; i=2; i++) //采样0~3路A/D值 { for(j=0;j=1;j++) {d=GetADresult(i)*3.3/1023; //数据采集,处理 } Uart_Printf(0, a%d=%f\t,i,d); hudelay(1000); //延时 } Uart_Printf(0, \r); } return 0; };主要的定义和函数参考代码如下: ? #define ADCCON_FLAG (0x115) #define ADCCON_ENABLE_START_BYREAD (0x11) #define rADCCON (*(volatile unsigned *)0 #define rADCDAT0 (*(volatile unsigned *)0x5800000C) #define PRSCVL (496) #define ADCCON_ENABLE_START (0x1) #define STDBM (0x02) #define PRSCEN (0x114) void ARMTargetInit(void); void init_ADdevice() //初始化AD { rADCCON=(PRSCVL|ADCCON_ENABLE_START|STDBM|PRSCEN); } int GetADresult(int channel) //取采样值 { rADCCON=ADCCON_ENABLE_START_BYREAD|(channel3)|PRSCEN|PRSCVL; hudelay(10); while(!(rADCCONADCCON_FLAG)); //转换结束 return (0x3ffrADCDAT0); //返回采样值 } ;S3C2410X中断控制器可以接收来自56个中断源的中断请求。这些中断源来自DMA、UART、I2C等这样的片内外围或片外外部引脚。其中24路为外部中断EINTn,外部中断中EINT4~EINT7、EINT8~EINT23是逻辑或的关系,它们共享一条中断请求线。 当从内部外设和外部中断请求引脚接收到多个中断请求时,经过中断仲裁后,中断控制器向ARM920T请求FIQ或者IRQ中断。 仲裁过程与硬件优先级有关,仲裁结果写入中断请求寄存器。中断请求寄存器帮助用户确定哪个中断产生。;1.中断控制器的运行 程序状态寄存器PSR中有F位和I位。如果PSR中的F位被置1,CPU不接收FIQ快速中断,同样如果I位PSR被置1,CPU不接收IRQ中断,因此中断控制器能够通过将PSR的F位、I位和相应的INTMSK中的位清零来接收中断。 2.中断模式 ARM920T有两种中断模式(INTMOD):FIQ和IRQ。在中断请求时所有的中断源要决定使用哪个模式。 3.中断请求寄存器 S3C2410X有

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档