// P5.0 alternate input 1, CAN_RX GPIO_StructInit(&GPIO_InitStruct); GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0; GPIO_InitStruct.GPIO_Direction=GPIO_PinInput; GPIO_InitStruct.GPIO_Type=GPIO_Type_PushPull; GPIO_InitStruct.GPIO_IPConnected=GPIO_IPConnected_Enable; GPIO_InitStruct.GPIO_Alternate=GPIO_InputAlt1; GPIO_Init(GPIO5,&GPIO_InitStruct); // P5.1 alternate output 2, CAN_TX GPIO_StructInit(&GPIO_InitStruct); GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1; GPIO_InitStruct.GPIO_Direction=GPIO_PinOutput; GPIO_InitStruct.GPIO_Type=GPIO_Type_PushPull; GPIO_InitStruct.GPIO_IPConnected=GPIO_IPConnected_Enable; GPIO_InitStruct.GPIO_Alternate=GPIO_OutputAlt2; GPIO_Init(GPIO5,&GPIO_InitStruct);
SCU_APBPeriphClockConfig(__CAN, ENABLE); CAN_DeInit(); CAN_InitStructure.CAN_ConfigParameters=CAN_CR_CCE; CAN_InitStructure.CAN_Bitrate=CAN_BITRATE_125K; CAN_Init(&CAN_InitStructure); CAN_InvalidateAllMsgObj(); CAN_SetTxMsgObj(CAN_TX_MSGOBJ, CAN_STD_ID); CAN_SetRxMsgObj(CAN_RX_MSGOBJ, CAN_STD_ID, 0, CAN_LAST_STD_ID, TRUE); while(1) { CAN_SendMessage(CAN_TX_MSGOBJ, &TxCanMsg[0]); CAN_WaitEndOfTx(); CAN_ReleaseTxMessage(CAN_TX_MSGOBJ); }
用示波器看不到P5.1上有脉冲(没有发出数据?)
|