AM1705定时器寄存器读取

在AM1705的工程中,有个地方需要使用随机数,但找不到好的方法,就讲方式转到了定时器上,配置一个定时器,读取其计数寄存器值来作为随机数来处理。当然为了更像随机数,可以讲该寄存器值再重新做个计算,当然这都是比较开放的了。

AM1705有两个64位定时器,每个计数器可以配置成为2个32位定时器,这里我只需要32位定时器。(TIMER0(又可分为TIM12和TIM34),TIMER1(同样分为TIM12和TIM34两个))

另关于时钟源, 可选择时钟源有两个,一个是Interal clock(内部时钟,实际上是接到PLL之前的时钟,在我工程里用的实际上就是外部高速时钟,我接的是24M,该外部高速时钟,最高30M);另一个是TM64P_IN12的时钟(是芯片的一个时钟输入管脚)。


其他应用可参考  AM1705 Technical Reference Manual  技术参考手册

#define TIMER1_BASE 0x01C21000
//TIMER1-TIM12
void timer3_config(void)
{
// out32((TIMER1_BASE + 0x04), 0x00000001);//EMUMGT=1,定时器自由运行
 out32((TIMER1_BASE + 0x24), 0x00000007);//TGCR,TIMEMODE=dual32 chainned,TIM12RS=1,TIM34RS=1,将TIMER1配置为两个32位计时器
 out32((TIMER1_BASE + 0x18), 0xFFFFFFFF);//PRD12,timer period,设置计数器TIMER1-TIM12上限值为0xffffffff
// out32((TIMER1_BASE + 0x1C), 0xFFFFFFFF);//PRD34,prescaler value
// out32((TIMER1_BASE + 0x20), 0x00800080);//TCR->ENAMODE12=0x2,The timer is enabled continuously, TIMn increments until the timer counter matches the period,resets the timer counter to 0 on the cycle after matching and continues.
 out32((TIMER1_BASE + 0x20), 0x00000080);//CLKSRC12 = 0x0,选用Internal Clock为时钟源(即为接到PLL上的时钟,我用的是外部高速晶振24M,该时钟最高好像只能30M,另外一种时钟源是一个叫TM64P_IN12的时钟输入管脚)TCR->ENAMODE12=0x2,The timer is enabled continuously, TIMn increments until the timer counter matches the period,resets the timer counter to 0 on the cycle after matching and continues.,将计数模式设置为连续,自动清零
// out32((TIMER1_BASE + 0x34), 0x00FFFFFF);//REL12,reload register12
// out32((TIMER1_BASE + 0x38), 0x00FFFFFF);//REL34,reload register34
}

u32 GetTimer3Count(void)
{
 return(in32(TIMER1_BASE + 0x10));
}


另有AM335X系列(cortex-a8内核)获取系统时钟计数器的方式,可以在CSDN下载中搜索“AM335X(Cortex-A8)读取时钟计数寄存器值(随机数,GCC)”,里面有现成代码。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下 4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值