开发环境:S32DS
jlink控制硬件转自B站up主齐天大圣的哥哥,详解请收看这个视频:借助Simulink让你的弱鸡JLink变成高速示波器_哔哩哔哩_bilibili
1.FTM和中断设置
在新建工程结束后,双击cpu选项即可添加外设:
添加ftm_Timer_mc1这个外设,双击它打开设置选项:
从上到下打红框的部分分别为FTM外设的选项,S32k144有四个高级定时器,每个定时器支持生成八路的PWM波。接下来是时钟源设置,这里我们选择48MHz的系统时钟,Clock source prescaler为时钟分频设置,我们选32分频,分频之后的时钟频率为1.5Mhz。Timer operation mode 为计数方式,我们选择向上计数。最后一栏为计数器设置,初始值设置为零,终值设置为15(范围为0-65535)。
生成代码后,要写的代码如下:
在初始化时钟和初始化GPIO之后,初始化我们的定时器,FtmInit()这个函数编写如下:
值得一提的是,在INT_SYS_InstallHandler()中,第二项Ftm_IRQHandler为我们自定义的中断函数,并不一定要与笔者命名相同,在中断函数中,我们定时给PC发送我们的信息,配置如下:
最后一定要清除中断标志位,不然运行一次就不运行了。
2.运用jlink控制硬件
具体每个函数的讲解和simcoJlink如何安装我们看视频即可,这里主要展示函数的大致结构。
在while(1)中我们放置JlinkRecive()这个函数,时刻接收。发送在中断中执行,按周期发送:
大体思路就是,接收到了这个数据,并且把它拷贝到memTemp这个数组中,从而完成数据的传输工作。
最后,演示效果如下: