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.

[参考译文] 编译器/TM4C1230H6PM:WTimer0中断 CCS 7.2

Guru**** 2439560 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/624126/compiler-tm4c1230h6pm-wtimer0-interrupt-ccs-7-2

器件型号:TM4C1230H6PM

工具/软件:TI C/C++编译器

所有、

我不想用´d C 编写代码、没有 TI API 或系统控制函数。

但我在为重载/超时的 WTimer0设置中断时遇到了困难。

基本上、我的代码如下所示:

main (空)

(笑声)

???

void timer_ISR ()         //针对运行输出/重新加载的定时器的 ISR (WTimer 周期模式)

(笑声)

问题是:如何为 ISR (中断服务例程)设置正确的声明? pragma?

感谢您的帮助、

Gunter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请在  ARM 编译器手册中搜索标题为 INTERRUPT Pragma 的部分。  请注意、这并不能解决在产生中断时配置器件将控制权传递给该函数的问题。  这一细节仍是您的责任。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的乔治:

    我已经肯定地看到了这一点、但仍在努力。
    您可以给我发送一个用于 ISR 例程的 c 代码片段吗?
    计时器配置确实完成、没有道具

    感谢您的帮助、
    Gunter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Gunter Heuer"]请向我发送 ISR 例程的 c 代码片段?

    不幸的是,我缺乏这方面的专门知识。  此主题将提供给 TM4C 器件专家。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Gunter、您好!

    我们仅支持使用 TivaWare 的应用。 如果您希望在不使用"TI API 或系统控制函数"的情况下执行此操作、请参阅器件数据表。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [´d user="Gunter Heuer"]我喜欢用普通 C 语言编写代码,没有 TI API 或系统控制函数。[/quot]

    虽然(这)"喜欢"可能(似乎)满足的需求(此时)、您是否考虑过如果"多/多"寻求此(额外)支持、这会对论坛造成的影响?   (这将会是巨大的-并且得到帮助的海报数量将会减少...)

    请务必了解、该供应商的 API 是"经试用、真实、经过测试"的、并且由供应商员工和一些"外部人员"提供"良好的支持"。    拒绝 API "将您从畜群中剔除!"    这(严重)会减少技术支持、需要您付出的更多(和更长的)努力、并且您的独特实施不太可能证明与供应商的"成熟的"API 一样稳健。   (这并不是贬低您的-它是一个事实陈述!)

    当您列出自己的"喜欢"时-您完全无法描述 (为什么)您的动机!   (进一步减少对您的请求的同情。)

    有一种"妥协立场"----即使用"直接寄存器操作"或简单地使用"汇编程序"。   请注意、此处均不支持"供应商支持"、这将需要您投入更多时间/精力、并且生成的代码绝不能在"长期存在" API 的范围内"经过尝试和测试"。   (如果您还不熟悉这些强大的技术、您可能希望搜索"基于测试的设计")

    您(看起来)对 API 的拒绝可能导致您忽略(完全提供) API 源代码的"重点研究"。   通过 API 的对比/对比-与您自己的 C 代码-您获得了大量的"代码建模"帮助-您不能吗?   

    遗憾的是(部分)大学"拒绝通过 API 获得的惊人效率。"   作为一个小型技术企业所有者-我们几乎永远不会允许新员工"投入(真正浪费)大量时间/精力"来追求"效率极低的方法"来生成代码、证明"未经尝试、通常是不真实的、经过最少/勉强测试!"   (我们的门/其他人的门-不太可能沿着这条道路"保持打开"。)

    公司/我参加了几个 ARM /其他技术场所-该供应商不是"一般/不肯"-他们的章程是"为许多人提供最优质的产品!" 这只能通过 API 来实现...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    @CB1 -**相似**(不要与"相似"混淆)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢主席先生。   虽然如此多的人更希望"官方"恢复强大/有益/宽松的(原)**喜欢**机制。

    海报必须认识到"更好"的需求、这种需求很少源于"论坛转向(高度)独特的海报"喜欢!"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [´d user="Gunter Heuer"]我喜欢用普通 C 语言编写代码,没有 TI API 或系统控制函数。[/quot]

    别那样做。 真的不要。

    使用 API 没有缺点、可用的支持极少或根本不支持。 几乎唯一的支持就是从 TIVAWare 源进行逆向工程。

    [引用 user="Gunter Heuer"]

    void timer_ISR ()         //针对运行输出/重新加载的定时器的 ISR (WTimer 周期模式)

    (笑声)

    问题是:如何为 ISR (中断服务例程)设置正确的声明? pragma?

    [/报价]

    无论有无 TIVAWare、Cortex M 上中断矢量的正确原型都是

    void 函数(void);

    您必须将该函数放置在中断表中(启动时)、就像放置在其他处理器上一样。 或者 TIVAWare 有一个寄存功能、此功能使用适当的指针更新中断表的 RAM 副本。

    我选择修改启动以使用弱定义、因此我不必修改启动以添加新的中断函数、只需正确命名即可。

    Robert

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    所有、

    感谢您的建议。
    将在周末实施 API、对结果很好奇。

    谢谢、
    Gunter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们是否可以注意到、"我们很好奇"实施 API 的计划"如何以某种方式赢得/值得"验证"? 已核实的内容-"未来计划"如何使后续读者受益? (显然-它不能/不能!)