您好,
我正在尝试将 DIVSCLK 用作外部设备的时钟源。 但是,我无法从针脚获得输出信号,我不确定代码中缺少什么内容。 我希望得到一些反馈!
谢谢你。
//此代码用于从 DIVSCLK 输出时钟信号
#include "msp.h"(#include "msp.h"
易失性 UINT32_t msTicks;/*计数1ms timeTicks */
/*-----------------
Systick_Handler
------------- *
无效的 Systick_Handler (void){
msTicks++;
}
/*-----------------
延迟刻度系统数(每1毫秒发生一次)
------------- *
无效延迟(UINT32_t dllyTicks ){
UINT32_t 卷曲;
CurTicks = msTicks;
同时((msTicks - curTicks)< dlyTicks);
}
无效初始化(无效)
{
//启用 GPIO 端口 Q 外围设备-输出
sysctl->RCGCGPIO |= sysctl_RCGCGPIO _R14;
//DIVSCLK 寄存器
sysctl->DIVSCLK |= sysctl_DIVSCLK_DIV_M;//除数值
sysctl->DIVSCLK |= sysctl_DIVSCLK_SRC_PIOSC;//时钟源为 PIOSC
sysctl->DIVSCLK |= sysctl_DIVSCLK_EN;//时钟输出已启用
//GPIO Q:在 DIVSCLK 上注册输出所需(希望!)
GPIOQ->DR2R |= BIT4;//设置驱动强度(2mA)
//设置引脚类型
GPIOQ->ODR |=(BIT4);
GPIOQ->PUR |=(BIT4);
GPIOQ->DEN |= BIT4;//设置此位
GPIOQ->DIR |= BIT4;//*方向为输出
GPIOQ->AFSEL |= BIT4;//*需要此引脚上的替代函数
GPIOQ->PCTL |= 0xF0000000;//PMC7:端口 mux 控制7,可以使用 DIVSCLK
}
无效延迟(UINT32_t dllyTicks ){
UINT32_t 卷曲;
CurTicks = msTicks;
同时((msTicks - curTicks)< dlyTicks);
}
Int main (无效)
{
Systick_Config (SystemCoreClock /1000);/* Systick 中断(每1毫秒)*/
初始化();
While (1)(同时)
{
GPIOQ->数据|= BIT4;
}







