新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2017-9-7
- 在线时间
- 15 小时
|
1金钱
阿波罗h7的板子,
用定时器3
做频率输出测试。
int main(void)
{
u32 pinlv=4100;
u8 led0sta=1;
Stm32_Clock_Init(160,5,2,4);//设置时钟,400Mhz
delay_init(400); //延时初始化
uart_init(100,115200); //串口初始化为115200
LED_Init(); //初始化与LED连接的硬件接口
TIM3_Int_Init(4100-1,1-1); //10Khz的计数频率,计数5K次为500ms
while(1)
{
LED0(led0sta^=1);
delay_ms(1000);
pinlv--;
if(pinlv<=3900) pinlv=4100;
TIM3->ARR=pinlv; //设定计数器自动重装值
}
}
pinlv=4100 的时候,输出24.5khz
pinlv=2900的时候,输出25.7khz
根据计算,200的节奏对应1.2k的频率变化,理论上 1个节奏的变化就是6hz。
但是我现在把delay_ms(1000); 换成1秒去换算。
200秒一个周期,但是hz的变化是1hz 一变,不是6hz一变。
用示波器和扫频器同时观察的。
|
|