[KungFu32位 MCU] KF32F350的软件中断触发

[复制链接]
 楼主| 一直填填 发表于 2021-6-24 16:19 | 显示全部楼层 |阅读模式
KF32F系列的芯片关于软件中断的功能几乎没有看到什么帖子,所以给需要的兄弟普及一下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lpemhpdGlhbnRpYW4=,size_16,color_FFFFFF,t_70.jpg

INT_EIF0中的保留位可以做软件中断使用,主要要看清楚点(bit1-bit0)是不可以是使用的

然后就是在大家的工程里面的vector.c文件中有下面这些回调函数

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lpemhpdGlhbnRpYW4=,size_16,color_FFFFFF,t_70.jpg

然后就是到了最开的环节了,直接上代码

//初始化

void software_exti_init(void)

{

        INT_Interrupt_Priority_Config(INT_Reserved4, 2, 0);//设定优先级

        INT_Interrupt_Enable(INT_Reserved4,TRUE); //使能中断

        INT_All_Enable (TRUE);      //使能总中断

}

//触发软件中断

void trigger(void)

{

        INT_EIF0 |= 1 << INT_Reserved4; //soft4 中断使能

}

//*****************************************************************************************

//                             Soft4中断函数

//*****************************************************************************************

void __attribute__((interrupt)) _Soft4_exception (void)

{

        INT_EIF0 &= ~(1 << INT_Reserved4);//虽然文档上面说会清空标志位的,但是为了安全,      

                                      //所以我们还是 要做一次清空标志位

    /* 在这里面爱干嘛就干嘛,不过不能太久,原因你们应该的懂的 */

    /*  end */

}


 楼主| 一直填填 发表于 2021-6-25 11:53 | 显示全部楼层
INT_EIF0 |= 1 << INT_Reserved4; //soft4 中断使能和INT_EIF0 &= ~(1 << INT_Reserved4);中的INT_Reserved4是按照INT_EIF0中相对应的位来置位的,我这是为了好看才写INT_Reserved4,大家自己注意一下
chenjun89 发表于 2021-7-3 08:17 来自手机 | 显示全部楼层
谢谢分享
daichaodai 发表于 2021-7-5 12:37 来自手机 | 显示全部楼层
国产芯片公司的文档确实做的不好
 楼主| 一直填填 发表于 2021-7-6 08:43 | 显示全部楼层
daichaodai 发表于 2021-7-5 12:37
国产芯片公司的文档确实做的不好

国产的芯片的文档就是这样子了,还有就是期望国产芯片的cpy之路能跟得上国外的芯片
天意无罪 发表于 2021-7-7 08:38 | 显示全部楼层
国产芯片公司的文档之所以写的不好主要有两个原因:
1、人力成本问题:这个不像写文案,要写出一个像样的数据手册不是一般人能胜任的,至少是干过技术的,相应人工成本会增加许多。
2、知识产权问题:目前国内的知识产权意识和保护还不完善,写简单点、模糊点也算是对自己技术的保护。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

0

粉丝
快速回复 返回顶部 返回列表