10个帖子/ 0新
最后一篇
扣留
离线
最后一次露面:3天23小时前
加入:2019-06-21 07:31
DA14531硬件硬件时代器使用问题

请问da14531的硬件当时最小可口定时机,我想定时1us进一次中断,但实际测试发行进行IO翻转时,高电平1.8-2us,低电平2.2-2.4us。我的谎是♥的:

静态Tim0_2_CLK_DIV_CONFIG_T CLK_DIV_CONFIG =
{
.clk_div = tim0_2_clk_div_1 // 16MHz / 1
};

void timer0_general_user_callback_function(void)
{
if((getword16(gpio_base +(gpio_lex_port << 5))&(1 << GPIO_LED_PIN)))
setword16(GPIO_Base +(GPIO_LED_PORT << 5)+ 4,1 << GPIO_LED_PIN);//低的
否则if((getword16(gpio_base +(gpio_led_port << 5))&(1 << GPIO_LED_PIN))== 0)
setword16(GPIO_Base +(GPIO_LED_PORT << 5)+ 2,1 << GPIO_LED_PIN);//高的
}

void timer0_interrupt_init(uint16_t reload_1us)
{
//停止计时器输入设置
timer0_stop();

//寄存SWTIM_IRQN IRQ的回调函数
timer0_register_callback(timer0_general_user_callback_function);

//启用Timer0 / Timer2输入时钟
timer0_2_clk_enable();

//将Timer0 / Timer2输入时钟分割因子设置为8,因此16 MHz / 1 = 16 MHz输入时钟
timer0_2_clk_div_set(&clk_div_config);

//清除PWM设置寄存器未生成PWM
timer0_set_pwm_high_counter(no_pwm);// timer0_reload_m_reg = 0
timer0_set_pwm_low_counter(no_pwm);// timer0_reload_n_reg = 0

//设置具有2MHz源时钟的定时器除以10所以FCLK = 16MHz / 1 = 16MHz
timer0_init(tim0_clk_fast,pwm_mode_one,tim0_clk_no_div);

// T = 1 / 16MHz *(Reload_100us + 1)= 0.000000000625 * 16 = 1US RELOAD_100US = 16
timer0_set_pwm_on_counter(reload_1us);// timer0_on_reg = 1600

//启用SWTIM_IRQN IRQ
timer0_enable_irq();

//启动Timer0.
timer0_start();
}

是在里里面了吗?请问如何才能精密的1us进一次中间呢

期间回复,非常感谢

设备:
cyibin.
离线
最后一次露面:2个月4周前
职员
加入:2017-12-14 02:48
你好,

你好,

1Us中间是可以。

你最终想实现的是什么呢,我帮你用来什么式好。

扣留
离线
最后一次露面:3天23小时前
加入:2019-06-21 07:31
你好,我正在在一个通信协议,尝试尝试很多方法

你好,我正在一起一个通信协议,尝试过很多方法,目前感觉只能通话多次进入时代中来来实现.t_clock理论是100us,实际测试80-100us之间,需要具体,目前的守法是硬件当时果1US,多重进入累积判断。但我设置硬件时代传派发出者发出并不仅仅是精灵到1us,请问我的问题在这里?

扣留
离线
最后一次露面:3天23小时前
加入:2019-06-21 07:31
我的这个当时的问题现在

我的这个当时的问题现在

扣留
离线
最后一次露面:3天23小时前
加入:2019-06-21 07:31
我按按这个,3Us进中间(3us也并不准)

我按按这个,3us进中间(3us也并不准),次数多重程会崩掉。我如果想精神1Us多次呢若多能进多少次

cyibin.
离线
最后一次露面:2个月4周前
职员
加入:2017-12-14 02:48
从协议文章看,一个tcycle最大是1ms左右

从协议文库看,一个tcycle最大是1ms左右,这种情况建议直接用物

扣留
离线
最后一次露面:3天23小时前
加入:2019-06-21 07:31
IO操作用实现,可爱具体说明一下吗

io操作业,可以是具体说明一下吗,我之迹是直接控制io口模拟这个协议电平,用力克做阻塞延时,但是实际效果并不好。建议是不再有阻塞,我是用来时代器去调用,但实际发表定时效果不精确,不再知道ー出ー580起,发出的时代会发出更多个,繁体,最最甚至达到2-3s。

扣留
离线
最后一次露面:3天23小时前
加入:2019-06-21 07:31
请问这个定时机不精确的问题原因是什么

请问这个定时机不精确的问题原因是什么

cyibin.
离线
最后一次露面:2个月4周前
职员
加入:2017-12-14 02:48
当把定时机的时代配置为高级时代16MHz后

当把定时代的时代配置为高层时代16MHz后,逐时时代方的数码因数是精锐的。

而当你想实现1us中间一串,并且并且用中间断数来自进,出中间的时,这个就很很保证了。这个开口的开采。在MS级别的临时精密上可以忽略,1US级别,就很难忽略。

并且外设的中间优先优先优先不仅仅是高度的,还会受到蓝牙中间的影响。

扣留
离线
最后一次露面:3天23小时前
加入:2019-06-21 07:31
好的,

好的,_

主题锁定