前提・実現したいこと
ラズベリーパイでc言語のファイルを実行しようとしているのですが、そのようなファイルやディレクトリがないというエラーが出てよくわかりません。
おそらくmain.hがそのディレクトリに必要なのかと思うのですが、調べてもmain.hファイルの内容がありません。
ラズパイでc言語を使うには何かセットアップ的なものが必要なのでしょうか。
解決できる方がおられましたらコメントお願いします。
発生している問題・エラーメッセージ
main.c:40:18: fatal error: main.h そのようなファイルやディレクトリはありません
###ソース
入りきらないため、一部割愛しています。
Lidarってゆうセンサのコードです。
main.c
1 2/* Includes ------------------------------------------------------------------*/ 3#include "main.h" 4#include "stm32f1xx_hal.h" 5#include "can.h" 6#include "i2c.h" 7#include "tim.h" 8#include "usart.h" 9#include "gpio.h" 10 11/* USER CODE BEGIN Includes */ 12#include "oled.h" 13#include "sensor.h" 14#include "util.h" 15#include <stdbool.h> 16/* USER CODE END Includes */ 17 18 19 20/* USER CODE END 0 */ 21 22int main(void) 23{ 24 25 /* USER CODE BEGIN 1 */ 26 CAN_FilterConfTypeDef sFilterConfig; 27 uint16_t mag_i = 0; 28 uint8_t mag_exp = 0; 29 uint8_t data_buff[32] = {0}; 30 char str_buff[32] = {0}; 31 /* USER CODE END 1 */ 32 33 /* MCU Configuration----------------------------------------------------------*/ 34 35 /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ 36 HAL_Init(); 37 38 /* USER CODE BEGIN Init */ 39 40 /* USER CODE END Init */ 41 42 /* Configure the system clock */ 43 SystemClock_Config(); 44 45 /* USER CODE BEGIN SysInit */ 46 47 /* USER CODE END SysInit */ 48 49 /* Initialize all configured peripherals */ 50 MX_GPIO_Init(); 51 MX_I2C1_Init(); 52 MX_CAN_Init(); 53 MX_USART1_UART_Init(); 54 MX_USART2_UART_Init(); 55 MX_TIM2_Init(); 56 57 /* USER CODE BEGIN 2 */ 58 hcan.pRxMsg = &RxMessage; 59 hcan.pTxMsg = &TxMessage; 60 //��ʼ��CAN Filter 61 sFilterConfig.FilterIdHigh = 0; 62 sFilterConfig.FilterIdLow = 0; 63 sFilterConfig.FilterMaskIdHigh = 0; 64 sFilterConfig.FilterMaskIdLow = 0; 65 sFilterConfig.FilterFIFOAssignment = CAN_FILTER_FIFO0; 66 sFilterConfig.FilterNumber = 1; 67 sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK; 68 sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; 69 sFilterConfig.FilterActivation = ENABLE; 70 sFilterConfig.BankNumber = 1; 71 72 if(HAL_OK != HAL_CAN_ConfigFilter(&hcan, &sFilterConfig)) 73 { 74 //uart2_write("init can filter failed\n", 23); 75 } 76 77 78 if(HAL_OK != HAL_CAN_WakeUp(&hcan)) 79 { 80 //uart2_write("init can filter failed\n", 23); 81 } 82 HAL_TIM_Base_Stop_IT(&htim2); 83 HAL_Delay(500);//�ȴ���������ʼ������ 84 OLED_Init(); //???OLED 85 OLED_ShowString(0,0,"CVER:",0);//small front 86 OLED_ShowString(0,1,"DIST:",0); 87 OLED_ShowString(0,2,"MAGN:",0); 88 //OLED_ShowString(0,3,"TVER:",0); 89 90 //��ȡCAN ������ID�� 91 hcan.pTxMsg->StdId = 0x731 & 0x7ff;// 92 hcan.pTxMsg->IDE = CAN_ID_STD;// 93 hcan.pTxMsg->RTR = CAN_RTR_DATA; 94 hcan.pTxMsg->DLC = 8; 95 hcan.pTxMsg->Data[0] = 0xf0;; 96 hcan.pTxMsg->Data[1] = 0xff; 97 hcan.pTxMsg->Data[2] = 0x00; 98 hcan.pTxMsg->Data[3] = 0xb0; 99 HAL_CAN_Transmit(&hcan, 100); 100 if(HAL_OK == HAL_CAN_Receive(&hcan, CAN_FIFO0, 300)) 101 { 102 sensorID_CAN = hcan.pRxMsg->Data[0] & 0xf0;//������ID�� 103 //����CAN�жϽ������� 104 if(HAL_OK != HAL_CAN_Receive_IT(&hcan, CAN_FIFO0)) 105 { 106 //uart2_write("init can filter failed\n", 23); 107 } 108 //CAN�̼��汾 109 hcan.pTxMsg->StdId = 0x731 & 0x7ff;// 110 hcan.pTxMsg->IDE = CAN_ID_STD;// 111 hcan.pTxMsg->RTR = CAN_RTR_DATA; 112 hcan.pTxMsg->DLC = 8; 113 hcan.pTxMsg->Data[0] = sensorID_CAN | 0x0;; 114 hcan.pTxMsg->Data[1] = 0xfe; 115 HAL_CAN_Transmit(&hcan, 100); 116 117 //ToF�̼���Ϣ 118 hcan.pTxMsg->StdId = 0x731 & 0x7ff;// 119 hcan.pTxMsg->IDE = CAN_ID_STD;// 120 hcan.pTxMsg->RTR = CAN_RTR_DATA; 121 hcan.pTxMsg->DLC = 8; 122 hcan.pTxMsg->Data[0] = sensorID_CAN | 0x0;; 123 hcan.pTxMsg->Data[1] = 0x2e; 124 HAL_CAN_Transmit(&hcan, 100); 125 126 //Τ��CANЭ����Ҫ�����ض������????��������������������� 127 hcan.pTxMsg->StdId = 0x731 & 0x7ff;// 128 hcan.pTxMsg->IDE = CAN_ID_STD;// 129 hcan.pTxMsg->RTR = CAN_RTR_DATA; 130 hcan.pTxMsg->DLC = 8; 131 hcan.pTxMsg->Data[0] = sensorID_CAN | 0x0;; 132 hcan.pTxMsg->Data[1] = 0xf7; 133 hcan.pTxMsg->Data[2] = 0xf5; 134 hcan.pTxMsg->Data[3] = 0x1; 135 HAL_CAN_Transmit(&hcan, 100); 136 137 138 139 140 //������������ģʽ 141 hcan.pTxMsg->StdId = 0x731 & 0x7ff;// 142 hcan.pTxMsg->IDE = CAN_ID_STD;// 143 hcan.pTxMsg->RTR = CAN_RTR_DATA; 144 hcan.pTxMsg->DLC = 8; 145 hcan.pTxMsg->Data[0] = sensorID_CAN | 0x0; 146 hcan.pTxMsg->Data[1] = 0x24; 147 HAL_CAN_Transmit(&hcan, 100); 148 149 } 150 else 151 { 152 //����CAN�жϽ������� 153 if(HAL_OK != HAL_CAN_Receive_IT(&hcan, CAN_FIFO0)) 154 { 155 //uart2_write("init can filter failed\n", 23); 156 } 157 } 158 159 160 161 //����UART1��UART2�Ĵ�������������ģʽ 162 continuous_Stop(USE_UART1); 163 uart1_read(buff, 8, 200);//���ܻ���������Ϣ(Hypersen)��Ҫ�˵� 164 if(sensor_get_DeviceInfo(buff, USE_UART1) == 1) 165 { 166 sprintf(str_buff, "20%d-%d-%d V%d.%d", buff[17], buff[18], buff[19], buff[20], buff[21]); 167 OLED_ShowString(0,3, (uint8_t *)str_buff,0); 168 } 169 sensor_continuous_start(USE_UART1); 170 continuous_Stop(USE_UART2); 171 uart2_read(buff, 8, 200); //���ܻ���������Ϣ(Hypersen)��Ҫ�˵� 172 if(sensor_get_DeviceInfo(buff, USE_UART2) == 1) 173 { 174 sprintf(str_buff, "20%d-%d-%d V%d.%d", buff[17], buff[18], buff[19], buff[20], buff[21]); 175 OLED_ShowString(0,3, (uint8_t *)str_buff,0); 176 } 177 sensor_continuous_start(USE_UART2); 178 HAL_TIM_Base_Start_IT(&htim2); 179 180 181 /* USER CODE END 2 */ 182 183 /* Infinite loop */ 184 /* USER CODE BEGIN WHILE */ 185 while (1) 186 { 187 /* USER CODE END WHILE */ 188 189 /* USER CODE BEGIN 3 */ 190 uart2_rx_done = false; 191 HAL_UART_Receive_IT(&huart2 ,buff, 2); 192 while(!uart2_rx_done); 193 if(buff[0] == 0x0a && buff[1] == 0x0d) 194 { 195 HAL_NVIC_DisableIRQ(TIM2_IRQn); 196 if(HAL_OK == HAL_UART_Receive(&huart2, buff+2, 0x0d, 10)) 197 { 198 if(packet_parser(buff, data_buff) == 1) 199 { 200 dist = (data_buff[3]<<8)+data_buff[4]; 201 mag_i = (data_buff[5] <<8) + data_buff[6]; 202 mag_exp = data_buff[7]; 203 mag = ((uint32_t)mag_i)<<(mag_exp); 204 ambient = data_buff[8]; 205 dev[0] = 'U'; 206 dev[1] = 'A'; 207 dev[2] = 'R'; 208 dev[3] = 'T'; 209 dev[4] = '2'; 210 dev[5] = 0; 211 } 212 } 213 HAL_NVIC_EnableIRQ(TIM2_IRQn); 214 } 215 buff[0] = 0; 216 buff[1] = 0; 217 } 218 /* USER CODE END 3 */ 219 220} 221 222 223