瀏覽代碼

适配808串口透传,update

xuy 2 年之前
父節點
當前提交
7a520db084
共有 5 個文件被更改,包括 83 次插入5 次删除
  1. 1 1
      Inc/stm32f7xx_hal_conf.h
  2. 1 1
      Src/KeySlave485.c
  3. 21 3
      Src/freertos.c
  4. 42 0
      Src/spi.c
  5. 18 0
      Src/stm32f7xx_it.c

+ 1 - 1
Inc/stm32f7xx_hal_conf.h

@@ -72,7 +72,7 @@
 /* #define HAL_RNG_MODULE_ENABLED   */
 /* #define HAL_RTC_MODULE_ENABLED   */
 /* #define HAL_SAI_MODULE_ENABLED   */
-/* #define HAL_SD_MODULE_ENABLED   */
+#define HAL_SD_MODULE_ENABLED
 /* #define HAL_MMC_MODULE_ENABLED   */
 /* #define HAL_SPDIFRX_MODULE_ENABLED   */
 #define HAL_SPI_MODULE_ENABLED

+ 1 - 1
Src/KeySlave485.c

@@ -37,7 +37,7 @@ uint8_t product_code[20] = "JL-SIMS-CJ-V2.1";				 //
 uint8_t product_ID[20] = "20210730001";						 //产品ID
 
 char Version_software[30] = "KZB09A0_20220210_Temp1";
-uint32_t Version_Soft[8] = {2,3,3,12,1,2,2,20220825};
+uint32_t Version_Soft[8] = {2,3,3,12,1,2,2,20230131};
 
 uint8_t flag_exitReset = 0;	 //终止复位命令
 uint8_t flag_Uart4_Busy = 0; //表明打印机占用了总线,暂停语音播报

+ 21 - 3
Src/freertos.c

@@ -2485,9 +2485,27 @@ void DisplayRunInfo(uint32_t FunDebugCode000)
 
 		else
 		{ //1--90000之间的功能码--开始
-			//Len001RunInfo = sprintf((char *)bufText01Password, "系统运行中.tick=%08X,%08d.未定义code=%5d.CPU=%d.\r\n", tick001, tick001 / 1000, FunDebugCode000, cntUsage);
-			Len001RunInfo = sprintf((char *)bufText01Password, "  code=%5d\r\n",FunDebugCode000);
-			memset((char *)bufText01Password + Len001RunInfo, 0, sizeof(bufText01Password) - Len001RunInfo);
+			//xy, 2022-12, 这里利用迪文屏,显示一些信息方便于测试者观察
+            switch (FunDebugCode000)
+            {
+            case 12111:
+                Len001RunInfo = sprintf((char *)bufText01Password, "KZB,version: %s,%d", 
+                    IR_ROM1==0x8000000 ? "app1":"app2",
+                    Version_Soft[7]
+                    );
+            break;
+            case 12555:
+                Len001RunInfo = sprintf((char *)bufText01Password, "flash, F|W|R: %d|%d|%d", 
+                    func_record_queue_flash_get(),
+                    queue_record_obj.wr_cnt,
+                    queue_record_obj.rd_cnt
+                    );
+            break;
+            
+            default:
+                Len001RunInfo = sprintf((char *)bufText01Password, "系统运行中.tick=%08X,%08d.未定义code=%5d.CPU=%d.\r\n", tick001, tick001 / 1000, FunDebugCode000, cntUsage);
+            break;
+            }
 
 		} //1--90000之间的功能码--结束
 

+ 42 - 0
Src/spi.c

@@ -85,6 +85,26 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
 {
 
   GPIO_InitTypeDef GPIO_InitStruct = {0};
+  	if(spiHandle->Instance==SPI2)
+  {
+  /* USER CODE BEGIN SPI2_MspInit 0 */
+	__HAL_RCC_SPI2_CLK_ENABLE();//ʹÄÜSPI4ʱÖÓ	
+#if 0
+		extern void HAL_SPI_MspInit_flash(void);
+		 HAL_SPI_MspInit_flash();
+#elif  1
+		extern void HAL_SPI_MspInit_w25qxx(SPI_HandleTypeDef *hspi);
+		HAL_SPI_MspInit_w25qxx(spiHandle);
+		
+#else		
+		extern void HAL_SPI_MspInit_SDCARD(SPI_HandleTypeDef *hspi);
+		HAL_SPI_MspInit_SDCARD(spiHandle);
+#endif		
+  /* USER CODE BEGIN SPI2_MspInit 1 */
+
+  /* USER CODE END SPI2_MspInit 1 */
+  }
+  
   if(spiHandle->Instance==SPI4)
   {
   /* USER CODE BEGIN SPI4_MspInit 0 */
@@ -114,6 +134,28 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
 
 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle)
 {
+      if(spiHandle->Instance==SPI2)
+    {
+    /* USER CODE BEGIN SPI2_MspDeInit 0 */
+    
+    /* USER CODE END SPI2_MspDeInit 0 */
+      /* Peripheral clock disable */
+      __HAL_RCC_SPI2_CLK_DISABLE();
+    
+      /**SPI2 GPIO Configuration   
+          PB12     ------> SPI2_NSS
+      PB13     ------> SPI2_SCK
+      PB14     ------> SPI2_MISO
+      PB15     ------> SPI2_MOSI 
+      */
+      HAL_GPIO_DeInit(GPIOB, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
+          
+          /* SPI2 interrupt DeInit */
+      HAL_NVIC_DisableIRQ(SPI2_IRQn);
+    /* USER CODE BEGIN SPI2_MspDeInit 1 */
+    
+    /* USER CODE END SPI2_MspDeInit 1 */
+    }
 
   if(spiHandle->Instance==SPI4)
   {

+ 18 - 0
Src/stm32f7xx_it.c

@@ -37,6 +37,9 @@
 #include "main.h"
 #include "Data_deal.h"
 #include "stm32f7xx_it.h"
+#include "TerminalSlave485.h"
+#include "CollectMaster485.h"
+#include "ScreenMaster485.h"
 #include "cmsis_os.h"
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
@@ -822,5 +825,20 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
         default:break;  
     }  
 }       
+extern SPI_HandleTypeDef hspi2;
+/**
+  * @brief This function handles SPI2 global interrupt.
+  */
+void SPI2_IRQHandler(void)
+{
+  /* USER CODE BEGIN SPI1_IRQn 0 */
+
+  /* USER CODE END SPI1_IRQn 0 */
+  HAL_SPI_IRQHandler(&hspi2);
+  /* USER CODE BEGIN SPI1_IRQn 1 */
+
+  /* USER CODE END SPI1_IRQn 1 */
+}
+
 /* USER CODE END 1 */
 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/