This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS3137的高级定时器NHET问题

Other Parts Discussed in Thread: HALCOGEN

朋友 您好!

  看例子程序和文档都是对高级定时器的PWM设置,本人只想用高级定时器,当做很普通的定时器来用,定时器中断 就可以,多少us一次中断。

  请问。halcode 如何设置。对应的中断函数是哪个

  • 是不是 他是用PWM波形 来产生中断啊,我设置pwm的频率,然后响应中断??

  • 要产生定时中断,最简单的就是RTI模块。在Halcogen中可以直接配置4个RTI中断。

    当然,HET也可以用来产生定时中断。每个HET有两个中断源,分别是高优先级中断和低优先级中断。要触发HET中断,可以使能HET的指令(部分指令有中断功能)的Control字中的int.ena位。

    但是,Halcogen中集成的PWM配置只支持输出PWM,不支持中断。所以,你想用HET来产生定时中断,需要自己来写HET的代码。

    HET代码需要在HET IDE中开发。本版的置顶贴有HET代码例程,尽管没有用到中断,但可以作为参考。

  • 多谢 马甲 兄弟的回复

    我想输出一段数据很长,大约2000多位,IO口输出就行, 高低 电平,速率645K,我发现定时器的精度,没那么高。。定时器精度也就0.1us,小数点后面一位

     请问 怎么能让精度更高,变晶振就可以吗?几频??

  • 如果是你所描述的这种应用的话,那么用HET来做是最好的选择。

    你需要自己写HET的代码,来做定时,到了定时周期后,根据需要发送的数据是1还是0来控制HET的引脚。

    如果你需要发送的数据很多,还可以用HTU来传输需要发送的数据。

    这样,CPU只需要把数据(2000位)写入HTU传输的RAM区域,然后触发HET向外发送即可,整个发送过程由HET自行控制可以大大减小CPU的负荷。

  • 谢谢

    是啊  我要求发送的速率比较高 。害怕普通的定时器,定时有偏差。影响传出速率。

    HET定时器的频率 也是几分频产生的吗?还是随便设置。能够精确到1.67us 定时中断一次吧。我设置RTI 的时候,发现最小 只能到2us。

    另外 HET,代码不能通过HAL软件自动生成了??

  • 不建议你在中断中CPU直接控制IO引脚电平翻转,那样CPU的负荷会非常高。

    HET本身就是一个协处理器,它直接可以HET引脚的电平翻转,也有一定的逻辑判断与处理能力。建议直接由HET来处理发送数据。

    Halcogen可以生成的HET代码功能十分有限,而HET模块功能非常强大、灵活。要实现你所描述的这个功能,没有办法用Halcogen生成的代码来实现。你需要在HET IDE中自己来写HET代码。

  • 老大!HET IDE  刚才下载了个这个软件,发现很高大上啊。。。比HAL 复杂多了!  有视频之类的教程吗?

     感觉好难啊,这个软件编程是用汇编吗??

  • 例程参见置顶帖,内有说明文档。

    HET IDE是用HET模块的汇编指令写的,HET的所有汇编指令在TRM上的HET章节都有详细说明。

    在HETIDE中,汇编代码是能过对话框自动生成的,在插入指令对话框中填入相关参考即可。

  • 朋友,能帮忙简单说说。。HET IDE 中 中断的。。谢谢

    CNT 

    BR 好多指令中都有的 irq设置。。设置成ON 就相应 中断,

    现在有个疑惑 中断函数在哪些啊??

    也是在指令中写吗??