连个I/O输出高电平和低电平都没实现

[复制链接]
2114|36
pengf 发表于 2022-10-8 19:21 | 显示全部楼层
手册解决大部分问题。
dingy 发表于 2022-10-8 19:25 | 显示全部楼层
低优先级要这么描述
void __interrupt(low_priority) INTERRUPT_InterruptManagerLow (void);
更多操作
 楼主| xxrs 发表于 2022-10-8 19:27 | 显示全部楼层
嗯,我刚开始不知道哪些器件支持MPLAB 代码配置器,后来找到了一个文档,里面大致列举了一些支持的型号。用MCC生成的代码里是这样写的。
但是生成的代码里好多关于中断的函数呀,我看的有些懵。
void  INTERRUPT_Initialize (void)  //这个是中断初始化函数
void __interrupt() INTERRUPT_InterruptManagerHigh (void)  //这个是高优先级中断向量函数
void INT0_ISR(void)
void INT0_CallBack(void)
void INT0_SetInterruptHandler(void (* InterruptHandler)(void))
void INT0_DefaultInterruptHandler(void)
这里如果要INT0中断的话就有6个关于INT0的中断函数,我都不知道我要把我们要写的中断服务函数写在哪里还有各个函数都有什么用。
更多操作
dingy 发表于 2022-10-8 19:30 | 显示全部楼层
你这生成的有点儿炫技了,基本上应该是可以随时换中断函数的概念。
shimx 发表于 2022-10-8 19:33 | 显示全部楼层
用户代码写在call back就行
tpgf 发表于 2022-10-9 19:00 | 显示全部楼层
可以在线仿真看看实际寄存器的配置是不是对的啊
晓伍 发表于 2022-10-9 19:21 | 显示全部楼层
中断部分的语法为什么和其他部分不一样呢
八层楼 发表于 2022-10-9 19:36 | 显示全部楼层
xxrs 发表于 2022-10-8 19:10
中断服务函数名void __interrupt() tc_int(void)就能通过编译,而void __interrupt tc_int(void)这里interr ...

为什么函数名字里边会夹着一个空的小括号呢
观海 发表于 2022-10-9 20:04 | 显示全部楼层
xxrs 发表于 2022-10-8 18:57
经过反复试反复试,关于中断部分的语法终于通过编译真是不容易呀!

刚开始上手为什么不使用线程的例程进行调试呢
guanjiaer 发表于 2022-10-9 20:21 | 显示全部楼层
xxrs 发表于 2022-9-9 23:56
我刚开始振荡器是选择内部振荡的,可能是点错了选了RCIO

找到这个问题的话 以后就肯定不会再出现这个问题了
heimaojingzhang 发表于 2022-10-9 20:31 | 显示全部楼层
xxrs 发表于 2022-10-8 18:49
我现在在中断函数的语法上碰壁了,不知道高优先级中断和低优先级中断的函数名要怎么写。
...

我印象中中默认的优先级都是一样的  如果还没有进行配置更改的话
Henryko 发表于 2022-11-5 19:55 | 显示全部楼层
配置位没设置好,建议对比手册配置
LOVEEVER 发表于 2022-11-26 20:15 | 显示全部楼层
我个人感觉结合你的照片,是程序的问题,结合官方案例再修改一下试试
OKAKAKO 发表于 2022-11-27 10:08 | 显示全部楼层
建议楼主先看官方程序样例进行学习,先改再自己写
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部