MCU型号为MKS22FN128VLH12。
这个例程的位置SDK_2.0_MAPS-KS22\boards\mapsks22\demo_apps
Original Attachment has been moved to: FlexCAN_UART_can1-mcu-uart2.rar
解決済! 解決策の投稿を見る。
Hi K iva,
由于你现在CAN0+UART1是可以工作的,所以建议你先做一个问题定位的测试。
1. CAN0+UART2 是否工作?
2. CAN1+UART1是否工作?
这样可以看出到底是哪个配置有问题,另外,以CAN0+UART2为例,不知道你修改了哪些部分?你需要把board.h中相关的UART改掉。
请先测试下,然后把你的测试结果告诉我!
Have a great day,
Jingjing
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
hi,kerryzhou
不好意思,我回复的时候加了图的,不知怎么就没了,我重新发下我的修改
#define EXAMPLE_CAN CAN0
为
#define EXAMPLE_CAN CAN1
然后根据datasheet中还改动了pin_mux.c中的管教配置。如下图
别的没有动什么,为什么通信会失败,打开canalyst调试软件时提示发送失败(这个软件是没问题的can0-UART1正常)。如下图
分析应该是can节点没有正常工作,不知再怎么改动处理,是我的can1-UART1可以通讯,最终能使can1-UART2可以通讯。
硬件图为:看上去看不出来can与收发器之间的关系,也不知用这个是can0有一路收发器,can1有一路收发器还是can0和can1公用一路。图如下
请帮忙分析下。谢谢!
非常感谢!
楼主你好!
新拿到一块MAPS板子,没有看到DOCK板子上有两个CAN收发器,不知道你用的什么板子?自己做的板子吗?
首先你要保证你硬件上面有这个CAN收发器,然后才能和CAN调试器连接。
另外,你有没有用示波器直接测试芯片CAN1引脚出来的波形,看看发送的时候,是否有波形?
Jingjing
Hi,jingjing你好
这个不是我自己做的板子,是代理商给的一个开发用的板子,我们自己的板子还没出来,问题已经解决了。非常感谢。用的mcu型号为MKS22FN128VLH12。
非常感谢一路的支持!
楼主你好!
你这个原理图关于CAN收发器的,是从MAPS-DOCK板子的原理图上弄下来的吗?
你可以把你MAPS KS22的板子给我拍个照片吗?如果有版本号也发给我看看。
因为我现在这边的DOCK板子上只有一个CAN模块,所以我要看看你的板子,也去申请套,好帮你测试。
Jingjing
Hi,kerryzhou
你好,根据你昨天的建议我查了收发器和cpu相应管教的电平我发现问题了,是我canalyst上的一个拨码开关没拨对。现在can1-UART1可以正常通讯了。
非常感谢你的支持!谢谢!如果以后还有问题,希望可以继续找你帮忙!
Hi K iva,
问题解决了就好!
所以使用示波器检查波形是非常重要的。
后续有问题,欢迎重新发问题贴交流!
Have a great day,
Jingjing
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi K iva,
由于你现在CAN0+UART1是可以工作的,所以建议你先做一个问题定位的测试。
1. CAN0+UART2 是否工作?
2. CAN1+UART1是否工作?
这样可以看出到底是哪个配置有问题,另外,以CAN0+UART2为例,不知道你修改了哪些部分?你需要把board.h中相关的UART改掉。
请先测试下,然后把你的测试结果告诉我!
Have a great day,
Jingjing
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,kerryzhou
你好,为了先知道UART2是怎么跑起来的,我以修改helloword的例子为测试,如果debug口要用UART1,则要用systemclock是120MHz,若想要用UART2则需要busclock是60MHz,但是在代码中哪里是配置这个的UART2的时钟的。我找了一下午都没找到。
还有你上次说到的can0-UART2之间的通讯也是不通的,我怀疑跟这个时钟有关系。所以想先解决了以UART2座位debug口的这个helloword例程先跑通。
请协助下,谢谢!
Hi K iva,
你好! 你现在用的板子是自己的板子还是MAPS板呢?
如果是自己的板子,想使能UART2的话,你可以参考这个代码:C:\Freescale\SDK2.0.0_KS22F_1.0.0\boards\mapsks22\driver_examples\uart\polling\iar
不过需要做一些修改,主要是把UART1换为UART2。
1:uart_polling.c中,定义:
#define DEMO_UART UART2
#define DEMO_UART_CLKSRC kCLOCK_BusClk
2:pin_mux.c 中void BOARD_InitPins(void) 函数里面
配置相关的PORT口,也就是你硬件板上UART2所用的口,打开PORT口时钟,另外,配置PORT_SetPinMux为你UART2相关的PORT口以及MUX值。
其余就不需要修改了,你先把你的UART2调通试试。
希望能帮到你,如果还有问题,欢迎继续发帖交流!
Have a great day,
jingjing
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
hi,kerryzhou
经过你的提醒,UART2串口是没有问题了,但是我在调试can1-UART1之间通信时,can1是有问题的,看了can0和can1是相同的模块啊,我之前的can0-UART1之间的通信时没有问题,我只是替换了
#define EXAMPLE_CAN CAN0
为
#define EXAMPLE_CAN CAN1
然后根据datasheet中还改动了pin_mux.c中的管教配置。如下图
别的没有动什么,为什么通信会失败,打开canalyst调试软件时提示发送失败(这个软件是没问题的can0-UART1正常)。如下图
分析应该是can节点没有正常工作,不知再怎么改动处理,是我的can1-UART1可以通讯,最终能使can1-UART2可以通讯。
请帮忙分析下。谢谢!
非常感谢!
你好!
你的图片我一个都看不到,附件打不开,你可以上传之后插入进去。
你修改之后,可以用示波器测试下相关引脚,另外, MAPS板子上只有一路的CAN收发器,如果你改为CAN1,你CAN1的相关引脚也要加收发器才能和can调试器通信。
所以,你先检查下硬件,用示波器测测看是否有波形。
Have a great day,
Jingjing
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
hi,kerryzhou
我使用的是就是MAPS板,非常感谢你的提醒。UART2可以用作debug口了。这个完成了,我就可以确定接着调试can1--UART2之间的通讯了。如有疑问,还望你可以为我解答下!
非常感谢!
CAN0+UART2 通讯还是有问题,can0可以发送出去但是UART2这里看不到接受到的数据。(我使用的是SSCOM工具查串口输出数据的)
Hi,Jingjing Zhou
因为在main函数中我没有打开BOARD_InitDebugConsole();这个接口,所以我在board.h中并没有改动。而是修改了pin_mux.c文件。不知你说的要修改board.h是要修改什么?请明示一下。
非常感谢!