"); //-->
又是这样,先忙一个晚上,没有结果,但在第二天很快就把事情搞定了。终于啊,定时器的定时方法弄完了,但在RAM中运行的方法还没弄明白。
下面是源码,有注释,我就不说废话了。但自己觉得重点有:
1、 时钟的设置。
2、 定时器的设置。
3、 中断的用法,主要是中断向量的赋值方法。要看看启动代码,弄明白了那个对以后的学习肯定是大有好处的。
注:不改动的话是用了中断,把中断禁止,再把注释掉的恢复就是查询的用法了。
#include "def.h"
#include "2440addr.h"
U32 j;
void __irq ISR_timer4(void)
{
rSRCPND |= 0x00004000;
rINTPND |= 0x00004000;
rGPBDAT = 0x01f<<j++;
if (j>9)
j = 5;
}
void Main(void)
{
U32 i;
j = 5;
//init clock
rCLKCON = 0x02110; //enable clk for timer,pwm and port
rUPLLCON = 0x00038022; //UPLL = 96Mhz
rMPLLCON = 0x00078012; //MPLL = 256Mhz
rCLKDIVN = 0X0b; //HCLK = FCLK/2 = 128Mhz
//PCLK = HCLK/2 = 64Mhz
//UCLK = UPLL/2 = 48Mhz
//flag of start
rGPBCON = 0x155555; //PORTB5-8 for output
rGPBUP = 0x03ff; //PORTB5-8 pull_up disable
rGPBDAT = 0x80;
for(i=0;i<500000;i++)
;
rGPBDAT = 0x01e0;
for(i=0;i<500000;i++)
;
//init timer4
pISR_TIMER4 = (unsigned)ISR_timer4;
rINTMSK ^= 0x00004000; //intmask_timer4 = 1;
rTCFG0 = 0x0000C700; //pre_CLK = PCLK/200 = 320Khz
rTCFG1 = 0x00030000; //MUX_CLK = pre_CLK/16 = 20Khz
rTCNTB4 = 20000; //f_INT_timer4 = MUX_CLK/20000 = 1hz
rTCON = 0x00200000;//timer4:EN_UPDATE
rTCON = 0x00500000;//timer4 start,DIS_UPDATE
for (;;)
{
/*
if (rSRCPND & 0x00004000)
{
rSRCPND |= 0x00004000;
rGPBDAT = 0x0ef<<j++;
if (j>9)
j = 5;
}
*/
}
}
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
全球首款真正的RISC-V架构人工智能笔记本电脑
WINNT_2000下直接写端口 的VC++源程序
文氏电桥正弦波振荡器
文氏桥式正弦波发生器二
Altium 在中国发布 Altium Develop —— 标志着其正式从传统许可证合规模式转型
玻璃钢门窗 塑钢护栏 电动门 卷帘门 龙骨
三菱FX系列PLC教程 10 —— FX系列的工作原理及编程器件(二)
超高速非易失性存储器(UltraRAM):后硅时代存储器的可行解决方案?
无框门窗 塑钢门窗 活动房 活动板房
腾辉电子:原材料供应紧张,CCL市场迎来涨价潮
求职!
三菱FX系列PLC教程 12 —— FX系列的基本指令(LD、LDI、OUT)
[笑话]老公老婆说
分子束外延(MBE)技术制备量子比特
韩式幸运草打火机,幸运草男式表,琥珀缘公司幸运草新品不断。
文氏振荡器调节器
X25045使用手册
windows版的解压缩RAR程序(含解密文件)
三菱FX系列PLC教程 11 —— FX系列的工作方式
文氏桥式正弦波发生器一
xiaoqi编写的字模软件
并口示波器小软件Port 1.0
两种适合自制的文氏桥低频信号发生器
英伟达称 AI芯片市场规模2027年或达1万亿美元,誓要拿下全部市场份额
三星计划2026年扩产HBM后段制程,聚焦HCB技术
英特尔加码先进封装业务:马来西亚先进封装基地 2026 年投产,EMIB 技术迎来重大升级
全球首座 6 英寸磷化铟光子芯片工业晶圆厂正式动工
三菱FX系列PLC教程 9 —— FX系列的工作原理及编程器件(一)
NVIDIA整合Groq技术,AI芯片初创企业出路何在?
三菱FX系列PLC教程 13 —— FX系列的(NOP、END)指令