历史上的今天
今天是:2025年03月23日(星期日)
2021年03月23日 | 飞思卡尔单片机学习记录(一)
2021-03-23 来源:eefocus
基础元件初始化步骤
一、GPIO
(1)、确定GPIO的方向:DDRx
(2)、访问GPIO口:PORTx、PTx
注意:输入输出时引脚的初始状态
二、中断
(1)、确定中断的有效信号特性:上升/下降
(2)、使能中断
(3)、开总中断:EnableInterrups;
三、串口通信SCI(别的单片机为UART)
SCI串行通信的基本编程方法:
①初始化:设置波特率寄存器、设置控制寄存器1和设置控制寄存器2;
②发送数据:先判断TDRE位是否可以发送数据,可以时再发送(while(!SCI0SR1_TDRE);)
③接收数据:先判断RDRF位是否可以接收数据,可以时再接收(while(!SCI0SR1_RDRF);)
查询方法接收/发送:
中断方法接收: 中断向量序号20/21
四、ATD
ATD初始化步骤(顺序不分先后):
(1)、ATDCTL1的设置:配置转换位数(精度)
(2)、ATDCTL2的设置:AFFC是否启用快速清除,ASCIE是否开启转换序列中断
(3)、ATDCTL3的设置:对齐、序列长度(每一次对通道访问的次数),FIFO一般为0
(4)、ATDCTL4的设置:ATD采样时间和时钟设置
(5)、ATDCTL5的设置:SCAN扫描,MULT多通道,CD~CA哪个通道
注意:ATDCTL5为启动ATD的使能寄存器,一般不放在初始化子函数内
查询方法:
while(!ATD0STAT2_CCF0); //等待转换完成,CCFx置位
LED = ~ATD0DR0H; //读AD结果,送给PB口显示,清除CCF0位(AFFC = 1时)
中断方法中CPU自动查询CCF0,并响应中断服务函数
五、PWM
初始化步骤:(顺序不分先后)
(1)、PWMCTL:确定是否级联
(2)、PWMCLK:时钟选择
(3)、PWMPRCLK和PWMSCLA、B:时钟设置
(4)、PWMPERx:时钟周期
(5)、PWMDTx:占空比(结合周期和极性确定)
(6)、PWMPOL:极性选择
(7)、PWME:开启PWM
六、定时器和计数器
定时器:
(1)、TIOS:输入捕捉/输出比较
(2)、TCTL1、TCTL2:8对控制位,用来配置各OC通道输出比较成功时的输出动作
// TCTL3、TCTL4用来配置各个IC通道输入捕捉边沿检测器电路
(3)、TSCR1:启动,自动清除标志位 0x90
(4)、TSCR2:开关中断,是否自动重装初值,预分频
(5)、TCx:定时器输入捕捉/输出比较
计数器:PACTL: 使能PA,事件计数,中断,上升/下降沿 计数
PAFLG:_PAOVF 脉冲累加器溢出标志位,清除该标志,需要对PAOVF位写1
_PAIF 脉冲累加器输入边沿有效标志位。输入引脚IOC7检测到有效边沿时被置位。清除该标志,需要对PAIF位写1 。
PACNT:脉冲累加器计数寄存器。 读取该寄存器的值必须在一个时钟周期内完成,如果分别读取高、低字节,将会得到不同于按字读的结果。
史海拾趣
|
系統編號 : 094STUT0428039出版年 : 95 研究生: 施銘憲 論文名稱 : 5.8GHz RFID之射頻前端接收器設計指導教授 : 陳文山學位類別 : 碩士校院名稱 : 南台科技大學系所名稱 : 電子工程系 學號 : M9330202學年度 : 94 語文別 : 中文 論文頁數 : 77 … 查看全部问答> |
|
• Recommend suitable product offerings/solution including marketing promotions. • Generate new business opportunities for EMG while satisfying/fulfilling customer’s needs. • Take ownership of customer technica ...… 查看全部问答> |
|
拜托高手急求 频率提取(FFT)的matable实现 程序 图形 结果 小弟近日有个实验课题,弄了好久没弄明白对于matable和数字信号处理小弟是纯白菜~ 这东西对我还很重要 希望高手能帮帮忙!!! 在这里万分感谢 1.初始信号为两个正弦波的叠加,频率分别为 f1=100HZ、f2=300HZ,且两列波的 ...… 查看全部问答> |
|
if (IsWindow(hWnd)) { int re = ScrollWindowEx(hWnd,nXMoved,nYMoved,NULL,NULL,NULL,NULL,SW_INVALIDATE | SW_ERASE); if (re == ERROR) { DWORD error = ...… 查看全部问答> |
|
小弟第一次做这个比赛,还不是太懂 据说,这个比赛是自己编程序,然后下载到开发平台的芯片上运行,如果开发工具用IAR EWARM 那各种接口的驱动程序,要不要自己写? 自己写的代码是不 ...… 查看全部问答> |
|
问一个问题啊 我编写了一个程序,用来接收FPGA传给arm的数据,但每次下载完程序只能好使一次,下一次运行必须重新下载程序,要不然就接收不到数据 这是为什么啊 怎么解决… 查看全部问答> |
|
请问为什么我在调试程序的时候 看到 *IFR=0X02 *IMR=0X02 INTM=0; 为什么不会跳到中断2处理函数中去呢 我在中断2处理函数中设置了个断点,但运行不到断点处 请高手指 ...… 查看全部问答> |
|
接下来的4周时间,estore上launchpad仅售$6.99 TI在从8月19日以来的四周,每周周一的launchpad仅售6.99刀, launchpad涨价到10个美金后很久没有这样的好价位了。 这次是TI组织的Back To School Sale活动,为大学生提供开发平台。 特别注意要输入优惠码:LP_BTS 消息来自TI工程师社区: … 查看全部问答> |




