主题中讨论的其他部件:MSP430FR4133
我需要从GPIO创建不同宽度的脉冲。 脉冲本身不是频率,而是重复高-低条件的任意定时,然后循环回自身以形成周期结构。 例如,我正在尝试使用定时器A来形成以下2个脉冲序列(不同时)
问题是,我不能确切知道该做些什么,以何种方式使所有这些都发挥作用。 我**认为**我必须在连续模式下运行定时器A,并更新ISR中的TACR0。 此MSP430 Launchpad附带的示例非常不充分,因为它只显示50 % 占空比下的单个频率。 我可以很容易地做到这一点。 我还不能将所有关于“Timer_A”和“Timer0_A3”的信息与各种CCRx寄存器的中断向量信息结合在一起,如果没有某种代码示例,则解列太复杂。
(1)作为MSP430计时器模块的专家,您将如何处理此问题? 代码的结构如何?
(2)我担心ISR延迟。 这些脉冲必须始终在每个重复周期的相同确切时间发生。 由于ISR内的CCR0更新,不能在严格计时中添加一个或两个额外的时钟周期。 也许我错了应该如何做到这一点。 在Timer_A数据表的"使用连续模式"部分中,表示 "在此用法中,时间间隔由硬件而不是软件控制,不受中断延迟的影响。" 我完全不理解这一点,因为在ISR中修改/添加TCCR0确实是“由软件控制”, 这背后的解释是什么? 其他模式(启动,连续等) 是否不同并受软件控制的延迟影响? 如果是,它们有何不同?为什么不同?


