STM32F4Discoveryキットを使用して、単純なCANインターフェイスを構築しています。CANメッセージを送信できるように設定できましたが、受信できなくなりました。私の知る限り、CANメッセージを受信するには、受け入れフィルターを通過する必要があります。ID 0x700から0x7FFまでのすべての(標準、2.0A)メッセージを受け入れるようにフィルターを設定したいと思います。どうすればよいですか?
リファレンスマニュアルを読みましたが、実際にフィルタリングを構成する方法がわかりません。
void CAN_FilterConfiguration(void) {
CAN_FilterInitTypeDef CAN_FilterInitStructure;
/* CAN2 filter configuration */
CAN_FilterInitStructure.CAN_FilterNumber = 1; // filter number = 1 (0<=x<=13)
CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_16bit;
CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment = CAN_FIFO0; // FIFO = 0
CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
CAN_FilterInit(&CAN_FilterInitStructure);
}