knk

knk

0个粉丝

12

问答

0

专栏

0

资料

knk  发布于  2018-09-29 09:59:59
采纳率 0%
12个问答
2007

STMF407VET6的CAN1问题

 
各位大神好!我使用的是STMF407VET6的CAN1 PA11,PA12程序中还使用了USART1 PB6和PB7 串口1可以正常发送数据
CAN收发电路和CAN的发送部分函数我参考的是STM32F的CAN程序,原CAN程序已经批量生产,现在407的CAN1问题如下
1.把CAN收发芯片去掉,程序中CAN1仍可以正常发送,发送的时候我有检测CAN错误是否产生,发现没有错误,
2.CAN收发芯片焊接上去,外部不接CAN的连线还是没有错误产生
3.我把CAN的初始化程序去掉后,只发送数据,发现CAN还是没有错误产生
请问这是什么问题?谢谢!

void GPIO_CAN(void)
{
CAN_InitTypeDef        CAN_InitStructure;
CAN_FilterInitTypeDef  CAN_FilterInitStructure;       
GPIO_InitTypeDef  GPIO_InitStructure;  

/* Enable GPIO clock */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);  

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//?′ó?1|?ü
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//í?íìê?3?
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//é?à-
GPIO_Init(GPIOA, &GPIO_InitStructure);

                GPIO_PinAFConfig(GPIOA,GPIO_PinSource11, GPIO_AF_CAN1 );
GPIO_PinAFConfig(GPIOA,GPIO_PinSource12, GPIO_AF_CAN1);

/* CAN register init */
                  CAN_DeInit(CAN1);
/* CAN cell init */
CAN_InitStructure.CAN_TTCM = DISABLE;
CAN_InitStructure.CAN_ABOM = ENABLE;
CAN_InitStructure.CAN_AWUM = DISABLE;
CAN_InitStructure.CAN_NART = ENABLE;
CAN_InitStructure.CAN_RFLM = DISABLE;
CAN_InitStructure.CAN_TXFP = DISABLE;
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;

/* CAN Baudrate = 1 MBps (CAN clocked at 42 MHz) */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_7tq;
CAN_InitStructure.CAN_Prescaler = 24;
CAN_Init(CAN1, &CAN_InitStructure);

/* CAN filter init */
CAN_FilterInitStructure.CAN_FilterNumber = 0;
CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0;
CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
CAN_FilterInit(&CAN_FilterInitStructure);
/* Enable FIFO 0 message pending Interrupt */
//  CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
}
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区