[STM32F1] CAN1重映射到PD0,PD1,为什么只能接收不能发送

[复制链接]
2033|20
 楼主| zhanghqi 发表于 2018-7-24 20:57 | 显示全部楼层 |阅读模式
CAN1重映射到PD0,PD1,为什么只能接收不能发送
junpeng324 发表于 2018-7-24 21:26 | 显示全部楼层
配置有问题吧?检查下代码。
junpeng324 发表于 2018-7-24 21:27 | 显示全部楼层
发现程序,看下CAN的发送数据和接收数据函数
观海 发表于 2018-7-25 07:58 | 显示全部楼层
楼主程序的问题
guanjiaer 发表于 2018-7-25 08:05 | 显示全部楼层
楼主看看gpio那块的程序改过来了吗
heimaojingzhang 发表于 2018-7-25 08:09 | 显示全部楼层
在灌胶功能那也要定义一下
keaibukelian 发表于 2018-7-25 08:14 | 显示全部楼层
用示波器看看有波形吗
xiaoqizi 发表于 2018-7-25 08:44 | 显示全部楼层
对 先看看 有没有输出
木木guainv 发表于 2018-7-25 08:46 | 显示全部楼层
自己写的话注意很多地方要修改 如果生成代码的话就么有这个问题了
shimx 发表于 2018-7-25 21:04 | 显示全部楼层

楼主详细说说怎么回事啊,这么说太笼统了
 楼主| zhanghqi 发表于 2018-7-25 21:08 | 显示全部楼层
芯片:STM32F107VCT6
我有两个板子
一个板子是can1用PA11,PA12,可以接收和发送数据,外接晶振是8MHz
另一个板子把CAN1重映射到PD0,PD1上,只能接收数据不能发送数据,外接晶振是25MHz
不知道什么原因,会不会和时钟设置有关,还是我的引脚配置有关
有没有弄过的,麻烦指点指点
jiaxw 发表于 2018-7-25 21:10 | 显示全部楼层
是不是端口配置上有问题, 这种配置我用过, 是可以正常工作的.
 楼主| zhanghqi 发表于 2018-7-25 21:12 | 显示全部楼层
没有呀,我就是按照例程上的配置配的
spark周 发表于 2018-7-25 21:14 | 显示全部楼层
你这个是只能收不能发,前天有个人是只能发发不能收
liliang9554 发表于 2018-7-25 21:16 | 显示全部楼层

是不是IO口的方向没配置对啊
午夜粪车 发表于 2018-7-25 21:17 | 显示全部楼层

是就没有数据发送过来,还是有发送没接收,还是接收了没处理
 楼主| zhanghqi 发表于 2018-7-25 21:19 | 显示全部楼层

大家帮忙看看端口配置错没???      
        RCC->APB1ENR&=0XFDFFFFFF;
        RCC->APB1ENR|=1<<25;//使能CAN时钟
        RCC->APB2ENR&=0XFFFFFFDF;
        RCC->APB2ENR|=1<<5;//使能GPIOD时钟
        RCC->APB2ENR|=0X00000001;//使能AFIO

        GPIOD->CRL&=0XFFFFFF00;
        GPIOD->CRL|=0X000000B8;//PD0(CAN1_RX)为上拉或下拉输入模式,PD1(CAN1_TX)为复用推挽输出模式        
        
        AFIO->MAPR&=0XFFFF9FFF;  //第13,14位是CAN1-remap
        AFIO->MAPR|=0x00006000;         //11:CAN1_RX映像到PD0,CAN1_TX映像到PD1;
午夜粪车 发表于 2018-7-25 21:22 | 显示全部楼层

你的复用时钟打开没有?
 楼主| zhanghqi 发表于 2018-7-25 21:23 | 显示全部楼层


RCC->APB2ENR|=0X00000001;//使能AFIO
这个就是啊
liliang9554 发表于 2018-7-25 21:25 | 显示全部楼层

看着好像也没什么问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

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