合泰社区论坛

 找回密码
 立即注册-HOLTEK

QQ登录

只需一步,快速开始

搜索
查看: 49|回复: 1

如何配置BA45F5250 的时基时钟?

[复制链接]

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 3 天前 | 显示全部楼层 |阅读模式
合泰开发板
本帖最后由 LeoMo 于 2026-2-11 10:38 编辑

[AppleScript] 纯文本查看 复制代码
static inline void SysTick_init(void)
{
    _pscr = PSCR_CLKSEL_FSYS_DIV4; 
    _tb0c = TBnC_TBnON_ENABLE | TBnC_PERIOD_2P10;
    _tb0e = 1;  //tb0中断使能
    _emi = 1;   //全局中断使能
}
DEFINE_ISR(timer_base_0, 0x30)
{ 
    // _tb0f auto reset in ISR
    _pa5 = !_pa5;
    // _emi auto reset in ISR
    _emi = 1;
}



我通过以上代码配置,主频4MHz,4M/4*1024, 理论上应该是1024us一个中断,但测量到PA5的反转时间在1.8ms左右,为什么呢?


如果我使用STM 配置为PWM输出,时钟也是不正确的,代码如下:

[AppleScript] 纯文本查看 复制代码
static inline void stm1_pwm_init(void)
{
    _pas1         =         PAS1_PA5_STP1B; // PA5 STM1
    STM1A_CCRA_SET(512);
    _stm1c0 = STMnC0_STnCK_FSYS_DIV4 | STMnC0_STnON | STMnC0_STnRP_1024; 
    _stm1c1 = STMnC1_STnM_PWM_SINGLE | STMnC1_STnIO_PWM_OUTPUT | STMnC1_STnPOL_INVERT;

    _stm1pe         =        1;        //STM1PE
    _emi         =         1;        //emi
    _mfe         =         1;        //mfe
}


DEFINE_ISR(m_funct, 0x3C)
{ 
        
        if(_stm1pf){
                
                _stm1pf = 0;
                
                STM1A_CCRA_SET(512);
        //YELLOW_LED_TOGGLE();
        }
}


PWM 时序测量请查看附件。



PWM时序

PWM时序




上一篇:Touch workshop4.1.2不能生成touch key库
回复

使用道具 举报

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
 楼主| 发表于 前天 11:18 | 显示全部楼层
合泰开发板
    _scc = SCC_CLK_FH | SCC_FHIDEN_DISABLE | SCC_FSIDEN_ENABLE;
    _hircc = HIRCC_FREQ_4MHZ | HIRCC_HIRCEN_ENABLE;

添加这段代码后比较准了。
ed554d60-877d-4896-a9ef-1d0cae5b3946.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册-HOLTEK

本版积分规则

公告:

Archiver|手机版|黑名单|合泰论坛 合泰在线业务 合泰在线技术

GMT+8, 2026-2-13 13:49 , Processed in 0.097913 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表