@@ -57,7 +57,10 @@ static void MX_FDCAN1_Init(void);
5757
5858/* Private user code ---------------------------------------------------------*/
5959/* USER CODE BEGIN 0 */
60-
60+ //FDCAN_TxHeaderTypeDef TxHeader;
61+ //uint8_t TxData[64];
62+ //int indx = 0;
63+ uint8_t data [64 ];
6164/* USER CODE END 0 */
6265
6366/**
@@ -91,25 +94,37 @@ int main(void)
9194 MX_FDCAN1_Init ();
9295 /* USER CODE BEGIN 2 */
9396 //bootloader_init();
94- fdcan_start ();
9597
96- uint8_t data [ 64 ];
98+
9799 int i ;
98100 uint8_t d = 0xA ;
99101 for (i = 0 ; i < 64 ; ++ i ) {
100102 data [i ] = d ++ ;
101103 }
102104
103- fdcan_packet_t p = {data , 69 };
105+ fdcan_packet_t p = { 69 , data };
106+
107+
108+
109+ HAL_FDCAN_Start (& hfdcan1 );
110+ HAL_FDCAN_ActivateNotification (& hfdcan1 , FDCAN_IT_RX_FIFO0_NEW_MESSAGE , 0 );
104111
105112 /* USER CODE END 2 */
106113
107114 /* Infinite loop */
108115 /* USER CODE BEGIN WHILE */
109116 while (1 )
110117 {
111- fdcan_transmit (data );
112- HAL_Delay (100 );
118+ fdcan_transmit (& p );
119+
120+ // if (HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, &TxHeader, TxData)!= HAL_OK)
121+ // {
122+ // Error_Handler();
123+ // }
124+ //HAL_Delay(100);
125+ // int a = fdcan_test();
126+
127+ fdcan_read (& p );
113128 /* USER CODE END WHILE */
114129
115130 /* USER CODE BEGIN 3 */
@@ -150,7 +165,7 @@ void SystemClock_Config(void)
150165 RCC_OscInitStruct .PLL .PLLM = 2 ;
151166 RCC_OscInitStruct .PLL .PLLN = 44 ;
152167 RCC_OscInitStruct .PLL .PLLP = 1 ;
153- RCC_OscInitStruct .PLL .PLLQ = 2 ;
168+ RCC_OscInitStruct .PLL .PLLQ = 4 ;
154169 RCC_OscInitStruct .PLL .PLLR = 2 ;
155170 RCC_OscInitStruct .PLL .PLLRGE = RCC_PLL1VCIRANGE_3 ;
156171 RCC_OscInitStruct .PLL .PLLVCOSEL = RCC_PLL1VCOWIDE ;
@@ -219,7 +234,7 @@ static void MX_FDCAN1_Init(void)
219234 hfdcan1 .Init .RxBufferSize = FDCAN_DATA_BYTES_64 ;
220235 hfdcan1 .Init .TxEventsNbr = 0 ;
221236 hfdcan1 .Init .TxBuffersNbr = 0 ;
222- hfdcan1 .Init .TxFifoQueueElmtsNbr = 0 ;
237+ hfdcan1 .Init .TxFifoQueueElmtsNbr = 16 ;
223238 hfdcan1 .Init .TxFifoQueueMode = FDCAN_TX_FIFO_OPERATION ;
224239 hfdcan1 .Init .TxElmtSize = FDCAN_DATA_BYTES_64 ;
225240 if (HAL_FDCAN_Init (& hfdcan1 ) != HAL_OK )
@@ -246,16 +261,17 @@ static void MX_GPIO_Init(void)
246261 __HAL_RCC_GPIOH_CLK_ENABLE ();
247262 __HAL_RCC_GPIOG_CLK_ENABLE ();
248263 __HAL_RCC_GPIOA_CLK_ENABLE ();
264+ __HAL_RCC_GPIOD_CLK_ENABLE ();
249265 __HAL_RCC_GPIOB_CLK_ENABLE ();
250266
251267 /*Configure GPIO pin Output Level */
252- HAL_GPIO_WritePin (GPIOG , LED_CAN_Pin |LED_FLASH_Pin |LED_CANG6_Pin |LED_FAULT_Pin
253- |LED_OP_Pin , GPIO_PIN_RESET );
268+ HAL_GPIO_WritePin (GPIOG , LED_SLEEP_Pin |LED_FLASH_Pin |LED_CAN_Pin |LED_FAULT_Pin
269+ |LED_OPERATIONAL_Pin , GPIO_PIN_RESET );
254270
255- /*Configure GPIO pins : LED_CAN_Pin LED_FLASH_Pin LED_CANG6_Pin LED_FAULT_Pin
256- LED_OP_Pin */
257- GPIO_InitStruct .Pin = LED_CAN_Pin |LED_FLASH_Pin |LED_CANG6_Pin |LED_FAULT_Pin
258- |LED_OP_Pin ;
271+ /*Configure GPIO pins : LED_SLEEP_Pin LED_FLASH_Pin LED_CAN_Pin LED_FAULT_Pin
272+ LED_OPERATIONAL_Pin */
273+ GPIO_InitStruct .Pin = LED_SLEEP_Pin |LED_FLASH_Pin |LED_CAN_Pin |LED_FAULT_Pin
274+ |LED_OPERATIONAL_Pin ;
259275 GPIO_InitStruct .Mode = GPIO_MODE_OUTPUT_PP ;
260276 GPIO_InitStruct .Pull = GPIO_NOPULL ;
261277 GPIO_InitStruct .Speed = GPIO_SPEED_FREQ_LOW ;
0 commit comments