- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习嵌入式入门
有什么问题欢迎一起交流。以下是部分心得: LED
GPXCON中每两位控制一个引脚:00输入,01输出,10特殊功能 初始化 rGPBCON , rGPBUP , rGPBDAT 三个寄存器
关于ADS配置的解释:
在Target Settings中的Post-linker中选择ARM fromELF,因为我们需要把ELF文件格式转化为下载到flash中所必须的二进制文件。
在Language Settings中的所有语言的Target下的Architecture or Processor,选择ARM920T,因为s3c2440是ARM920T内核。
在ARM Linker中的Output中的RO Base填写0因为在开发板上SDRAM是从0址开始。在Layout中的Object/Symbol中填写2440init.o,它是启动文件的目标文件,在Section中填写Init,它是在启动文件中我们所定义的入口代码段的名称。
外部中断
我们要打开某一中断的屏蔽,这样才能响应该中断,相对应的寄存器为INTMSK; 还要设置外部中断的触发方式,如低电平、高电平、上升沿、下降沿等,相对应的寄存器为EXTINTn。
另外由于EINT4到EINT7共用一个中断向量,EINT8到EINT23也共用一个中断向量,而INTMSK只负责总的中断向量的屏蔽,要具体打开某一具体的中断屏蔽,还需要设置EINTMASK。
有一些中断是共用一个中断向量的,而一个中断向量只能有一个中断执行函数,因此具体是哪个外部中断,还需要EINTPEND或rINTOFFSET来判断
使用__irq这个关键词来定义中断处理函数,这样系统会为我们自动保存一些必要的变量,并能够在中断处理函数执行完后正确地返回
这种形式:void __irq key(); pISR_EINT0=(int)key;
定时器使用
主要配置 :外部时钟源→通过寄存器MPLLCON得到FCLK→再通过寄存器CLKDIVN得到HCLK和PCLK-再得到定时器的工作频率
PWM定时器使用:
蜂鸣器=GPB0=TOUT0=定时器0
蜂鸣器 高电平响,低电平不响 关键是设置寄存器TCNTBn和TCMPBn,前者可以确定一个计数周期的时间长度,而后者可以确定方波的占空比
定时器中断使用:
不需要配置TCMPBn,只需TCNTBn,TCNTBn*1/定时器的工作频率=定时的时间 但要记住中断要:
void __irq timer0_sever();
pISR_TIMER0=(int)timer0_sever;
rINTMSK =~BIT_TIMER0;
Uart
主要配置以下寄存器:
UBRDIVn ,UCONn ,UTRSTATn
收发寄存器: UTXHn ,URXHn
注意几点:
1. 对于s3c2440来说,接收数据是被动的,发送数据是主动的,因此一般来说,接收数据用中断方式,发送数据用查询方式较好;
2. 在中断方式下,当接收到数据时,尽管可能该数据无用,但也一定要读取它,否则下次再接收数据时,不会再引起中断,因为接收数据缓存器被上次接收到的数据所霸占,只要没有读取它,它就永远在那里;
3. 由于UART中断涉及到SUBSRCPND寄存器,因此在中断处理程序中不仅要清SRCPND寄存器,还要清SUBSRCPND寄存器,它们的顺序一定是先清SUBSRCPND寄存器,再清SRCPND寄存器,否则就会引起一个中断两次响应的问题。因为是否中断由SRCPND寄存器决定,而SRCPND寄存器的相关状态位由SUBSRCPND寄存器决定
简单的串口控制台:1. 键盘输入数据后在控制台上进行回显
recv_data = uart_getc();
return recv_data;
2. 让接收的字符组成命令 data_buf[i] = uart0_scanf();
if(data_buf[i] == \0)
3回车——命令判断、退格——删除字符、判断命令后进入相应分支进行处理
else if(data_buf[i] == \b)
if(!(no_system_strcmp(read iic,cmd_buf)))
LCD (4.3寸,480*272)
在2440中时钟设置是 FCLK:HCLK:PCLK=400:100:50
注意两点:
1时序,参数的设置
VCLK是像素时钟信号。VCLK=HCLK÷[(CLKVAL+1)×2]
例如,HCLK的频率为100MHz,要想驱动像素时钟信号为6.4MHz的LCD屏,则通过上式计算CLKVAL值
在s3c2440中,所有的这些信号(VSPW、VFPD、VBPD、LINEVAL、HBPD、HFPD、HSPW和HOZVAL)都是实际值减1的结果。这些
您可能关注的文档
- 如何寻找客户---焦伟华.ppt
- 如何根据参数选音箱.pptx
- 好读书_读好书(都昌县大沙中学).ppt
- 如何激活Vista隐藏的功能.pptx
- 如何提升店面各项指标.ppt
- 契丹文物精华.doc
- 如何确定企业的薪酬水平-讲师:曹子祥.docx
- 如何让光线更多元化的小技巧.pptx
- 如何讲好专题.ppt
- 如何绘制出高品质的学科思维导图.ppt
- 七章货物的保险.pptx
- 三章国际间接投资.pptx
- 人性假设理论.pptx
- 外研高一英语必修三ModuleIntroduction汇总市公开课获奖课件省名师示范课获奖课件.pptx
- 月相成因优质获奖课件.pptx
- 小学二年级语文课件《狐假虎威》省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 养羊业概况专题知识讲座.pptx
- 微生物的实验室培养市公开课获奖课件省名师示范课获奖课件.pptx
- 人教版六年级下册式与方程整理与复习市公开课获奖课件省名师示范课获奖课件.pptx
- 必威体育精装版高中精品语文教学:第二单元-第7课-诗三首:涉江采芙蓉、-短歌行、归园田居市公开课获奖课件省名师.pptx
文档评论(0)