打印
[KungFu8位 MCU]

KF8A100FNP 应用开发遇到的问题和解决办法

[复制链接]
3870|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lvben5d|  楼主 | 2022-5-25 13:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lvben5d 于 2022-10-17 12:44 编辑

1.  大家设计的时候   一定要设计UART1  UART2  留1个当打印口! 切记~~~     (P1.6口可以设置TX1 输入输出貌似都没关系 从实际角度 建议输入 避免接错TX线)  P00 P01口留着烧录,千万不要拿其他用!
2. WIN10家庭高级版  可能会编译出错,我后面按照FAE建议改为 WIN10 专业版以上就可以。
   WIN11我用的少,但是好像是OK的。 目前只有WIN10家庭版 不行。
3. 我发现默认 DEBUG模式是关闭得,我们一般在IDE右边 配置位, 工程文件  config_set.c里  ,记得修改下debug为0 使能硬件仿真。
    DEBUG过程中,去设置唯一1的断点 不能马上起作用,需要暂停 再运行后,断点才生效!
4. 不要在结构体内部 定义 结构体对象数组,仿真的时候,你会发现读到的数值都是第一个数组的值!!  
    比如我的  typedef struct  A{ ...} a_t;

    typedef struct  B{
      a_t   a[3];
     ...} b_t;         //这样编译是通过的,但是你等下DEBUG  查看结构体  b  的内容时候,发现不太对劲。
     b_t b;

    我改为:     
typedef struct  B{
      a_t   a1;
      a_t   a2;
      a_t   a3;
     ...} b_t;      
     b_t b;           //这样  DEBUG的时候  可以清楚看到    b.a1  b.a2  b.a3的所有变量数值。  

5.  中断里 调用非指针函数是可以得,但是如果非中断中也有这个函数的调用,那么编译器就会提示错误,无法生成HEX, 解决办法是:中断里不要去调用函数,把函数代码复制进来,一来可以减少函数 进出消耗指令,二是通过编译! 注意代码临界保护区(如果有需要的话)8. 离线烧录 Realease得时候  可以把BEE/DEE 去掉,避免每次不需要修改又烧录占用1S时间,

6. 亲测 串口接收引脚 使能内部上拉电阻有用,测试过 P1.4口作为RX1 作为LIN接收,因为LIN适配器内部RX是开漏结构,所以必须由用户的接收引脚 上拉一个电阻,全局上拉电阻使能 PUSH=0后,才有用。 但是I2C功能下,使能内部上拉无效,必须外部上拉!!
7. kf8cc 编译器产生的代码不可重入。 由于函数不可重入,以下操作将产生问题:1、 中断中调用函数外部函数  (只要你可以确保不会重入  是没关系的)2、 中断中进行*、\、%以及指针操作
3、 中断函数的参数传递
如果要在中断中调用函数,不建议这样做。参见函数使用限制章节。
还好 LIN的PID校验 没有上述问题, u8 LIN_CheckPID(u8 pid){
        u8 returnpid ;
        u8 _P0, _P1 ;        
        _P0 = (((pid)^(pid>>1)^(pid>>2)^(pid>>4)) & 0x01) <<6;
        _P1 = ((~((pid>>1)^(pid>>3)^(pid>>4)^(pid>>5)))&0x01)<<7 ;        
        returnpid = pid|_P0|_P1 ;        
        return returnpid ;
}

8. 【切记】做LIN设备的时候,主频一定要16M,不要节约几ma功耗,降频使用。我之前2分频为8M的时候, LIN收包有时候会超时,当我改为16M后,处理速度快了,就稳定了~  切记~

9.   IO口在不同状态下 切换输入输出的时候,跟51不同,当输入切换为输出的时候,为避免电平抖动,需要先 P1LRX = 1or0  然后在TR1X = 0 ( 0=OUT 输出)     输入的时候,由于电平靠外部上拉或其他器件控制,这里只管  TR1X =1  (1=IN 输入)

推荐: 中断里  做任务标志设置,main循环里查询标志来做处理,既然用到这个芯片,我相信大家必然用到LIN功能吧, LIN要注意收到PID并异或校验后,
           设置标志位,到主循环里判断执行的时候,避免超时,需要尽快执行 LIN BUS主机节点发送的 查询包哦!!
           LIN从机模式,我已经按照官网DEMO调通,且加了我自己的应用状态机 很稳定,可以找我来要。









使用特权

评论回复
评论
hxp2dz 2022-5-29 22:39 回复TA
指针做形参可以吗? 
沙发
caigang13| | 2022-6-2 08:09 | 只看该作者
中断里面的任务处理越简单越好

使用特权

评论回复
板凳
weifeng90| | 2022-6-2 18:25 | 只看该作者
中断函数里面一般不会处理复杂任务

使用特权

评论回复
地板
lvben5d|  楼主 | 2022-6-3 09:54 | 只看该作者
本帖最后由 lvben5d 于 2022-6-5 07:33 编辑

大家既然选这个KF8A 车规MCU,大概率用到LIN吧,主要是LIN总线 对应答有时序要求,在中断内简单处理回发包和启动发送包(不要查询发送哦 要中断发送) 是绝对可以写在中断里得,16M主频 一般几十条指令就可以打包发送或执行对应操作了。  只要别做软延迟,写FLASH,中断内其实随意。中断内可以调用形参为指针得 函数!但是看编译器提示,需要人手动处理 出入堆栈一些信息。 我是在中断子程序外进行LIN的和校验 OK。

使用特权

评论回复
5
luohaiping3| | 2022-6-10 07:58 | 只看该作者
楼主能不能发一份lin从机的给我学习下啊,谢谢!715101549@qq.com

使用特权

评论回复
6
lvben5d|  楼主 | 2022-6-10 08:47 | 只看该作者
luohaiping3 发表于 2022-6-10 07:58
楼主能不能发一份lin从机的给我学习下啊,谢谢!

已经发了 请查收

使用特权

评论回复
7
gogohongwen| | 2022-7-5 18:41 | 只看该作者
能否也给我学习一下?gogohongwen@126.com   感谢!

使用特权

评论回复
8
chenqianqian| | 2022-7-5 20:41 | 只看该作者
学习了,谢谢楼主分享经验。

使用特权

评论回复
9
lvben5d|  楼主 | 2022-7-5 20:51 | 只看该作者
gogohongwen 发表于 2022-7-5 18:41
能否也给我学习一下?gogohongwen@126.com   感谢!

发了 请查收~~

使用特权

评论回复
10
xuehan26| | 2022-7-7 10:15 | 只看该作者
楼主,lin从机的资料能否发我学习一下,手上有个项目需要开发,lixf@nushinetech.com。感谢!感谢!

使用特权

评论回复
11
liwei8377| | 2022-7-12 10:31 | 只看该作者
楼主,这个芯片的低功耗有做过吗?可以做到手册上写的2.5uA吗?为什么我的160uA?

使用特权

评论回复
12
yangxiaor520| | 2022-7-13 08:25 | 只看该作者
学习了,感谢分享经验。

使用特权

评论回复
13
hz499699| | 2022-8-15 16:10 | 只看该作者
楼主能发一下数据手册吗?实在是找不到。谢谢了,1718240851@qq.com

使用特权

评论回复
14
yanhuazheng| | 2022-8-23 11:08 | 只看该作者
辛苦楼主,麻烦把lin从机的资料发给我学习一下,44864223@qq.com。十份感谢!辛苦您了!

使用特权

评论回复
15
lvben5d|  楼主 | 2022-9-3 13:41 | 只看该作者
本帖最后由 lvben5d 于 2022-9-3 13:44 编辑
yanhuazheng 发表于 2022-8-23 11:08
辛苦楼主,麻烦把lin从机的资料发给我学习一下,。十份感谢!辛苦您了!

好久没来chipon这边了,已发 请查看。  大家注意,使用LIN的时候,这个MCU一定要跑满 16M主频 切记!

使用特权

评论回复
评论
gggggggggx 2022-9-28 16:36 回复TA
楼主,辛苦了,能不能再给我也发一份lin的资料啊,万分感谢。875629381@qq.com 
16
lvben5d|  楼主 | 2022-9-3 13:42 | 只看该作者
hz499699 发表于 2022-8-15 16:10
楼主能发一下数据手册吗?实在是找不到。谢谢了,1718240851@qq.com

KF8A数据手册,官网很方便随时下的啊,还可以下最新IDE

使用特权

评论回复
17
观观123| | 2022-9-4 14:42 | 只看该作者
楼主,lin从机的资料能否发我学习一下。感谢,1468682453@qq.com

使用特权

评论回复
18
flycamelaaa| | 2022-9-5 14:53 | 只看该作者
感谢分享,先去官网下个数据手册看一看

使用特权

评论回复
19
lvben5d|  楼主 | 2022-9-29 08:09 | 只看该作者
观观123 发表于 2022-9-4 14:42
楼主,lin从机的资料能否发我学习一下。感谢,1468682453@qq.com

好久没来看了CP8了,现在发份?

使用特权

评论回复
20
gggggggggx| | 2022-9-29 08:57 | 只看该作者
lvben5d 发表于 2022-9-29 08:09
好久没来看了CP8了,现在发份?

楼主,我也求一份!875629381@qq.com

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

746

帖子

12

粉丝