From c5764186c3ec23eb954463495b8fbd77e32b268c Mon Sep 17 00:00:00 2001
From: QuakeGod <QuakeGod@sina.com>
Date: 星期三, 01 二月 2023 10:58:10 +0800
Subject: [PATCH] radio add new device type

---
 Src/stm32f0xx_it.c |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/Src/stm32f0xx_it.c b/Src/stm32f0xx_it.c
index 5fc6b89..ae44ae7 100644
--- a/Src/stm32f0xx_it.c
+++ b/Src/stm32f0xx_it.c
@@ -95,9 +95,11 @@
 void PendSV_Handler(void)
 {
   /* USER CODE BEGIN PendSV_IRQn 0 */
-	NVIC_ClearPendingIRQ(PendSV_IRQn);	
+  SCB->ICSR=SCB_ICSR_PENDSVCLR_Msk; //1<<SCB_ICSR_PENDSVCLR_Pos;
+//	NVIC_ClearPendingIRQ(PendSV_IRQn);	
 	PendSvCount++;
-	NVIC_DisableIRQ(PendSV_IRQn);
+//	NVIC_DisableIRQ(PendSV_IRQn);
+	PendSvCallBack();
   /* USER CODE END PendSV_IRQn 0 */
   /* USER CODE BEGIN PendSV_IRQn 1 */
 
@@ -125,6 +127,21 @@
 /* For the available peripheral interrupt handler names,                      */
 /* please refer to the startup file (startup_stm32f0xx.s).                    */
 /******************************************************************************/
+/**
+  * @brief This function handles TIM6 global interrupt.
+  */
+void TIM6_IRQHandler(void)
+{
+  /* USER CODE BEGIN TIM6_IRQn 0 */
+	if (LL_TIM_IsActiveFlag_UPDATE(TIM6)) {	LL_TIM_ClearFlag_UPDATE(TIM6);}
+	
+//		KMem.SDD[46]+=1000;
+//	  KMem.SDT[93] = LL_TIM_GetCounter(TIM6);
+  /* USER CODE END TIM6_IRQn 0 */
+  /* USER CODE BEGIN TIM6_IRQn 1 */
+
+  /* USER CODE END TIM6_IRQn 1 */
+}
 
 /**
 * @brief This function handles DMA1 channel 2 and 3 interrupts.
@@ -174,10 +191,11 @@
 	Uart2DmaInts++;
 	if (LL_DMA_IsActiveFlag_TC4(DMA1))
 	{
-
+		LL_DMA_ClearFlag_TC4(DMA1);
+/*		
 		Uart2Stat.SendBytes+=Uart2Stat.DMASendLen;
 		DelData(&Uart2Stat.QTx,Uart2Stat.DMASendLen);
-		LL_DMA_ClearFlag_TC4(DMA1);
+
 		
 		if (!IsEmpty(&Uart2Stat.QTx))
 		{
@@ -191,6 +209,7 @@
 			LL_USART_EnableDMAReq_TX(USART2);
 		}
 		else
+*/		
 		{
 			Uart2Stat.DMASendLen=0;
 			Uart2Stat.Sending=0;
@@ -202,10 +221,22 @@
 	if (LL_DMA_IsActiveFlag_TC5(DMA1))
 	{
 		LL_DMA_ClearFlag_TC5(DMA1);
+		
 
 	}
   /* USER CODE END DMA1_Channel4_5_IRQn 1 */
 }
+
+void SPI1_IRQHandler(void)
+{
+  /* USER CODE BEGIN SPI1_IRQn 0 */
+	SPI1_IRQ_CallBack();
+  /* USER CODE END SPI1_IRQn 0 */
+  /* USER CODE BEGIN SPI1_IRQn 1 */
+
+  /* USER CODE END SPI1_IRQn 1 */
+}
+
 /**
 * @brief This function handles USART1 global interrupt.
 */
@@ -220,7 +251,7 @@
 		Uart1BaudFirstGot=1;
 		Uart1Stat.RXNECount++;
 		unsigned char ch=LL_USART_ReceiveData8(USART1);
-		PushOne(&Uart1Stat.QRx,ch);
+		// PushOne(&Uart1Stat.QRx,ch);
 		Uart1Stat.RecvBytes++;
 		Uart1RecvBuf1[Uart1RecvBuf1DataLen++]=ch;
 		//LL_USART_TransmitData8(USART1,ch);
@@ -252,13 +283,11 @@
 
 	if (LL_USART_IsActiveFlag_RXNE(USART2))
 	{
-		Uart2BaudGot=1;
-		Uart2BaudFirstGot=1;
-		Uart2Stat.RXNECount++;
-		unsigned char ch=LL_USART_ReceiveData8(USART2);
-		PushOne(&Uart2Stat.QRx,ch);
-		Uart2Stat.RecvBytes++;
-		Uart2RecvBuf1[Uart2RecvBuf1DataLen++]=ch;
+	//	unsigned char ch=LL_USART_ReceiveData8(USART2);
+	//	Uart2Stat.RXNECount++;
+		// PushOne(&Uart2Stat.QRx,ch);
+	//	Uart2Stat.RecvBytes++;
+	//	Uart2RecvBuf1[Uart2RecvBuf1DataLen++]=ch;
 
 		//LL_USART_TransmitData8(USART2,ch);
 	}

--
Gitblit v1.9.1