can finally works
This commit is contained in:
@@ -23,11 +23,11 @@ Mcu.IPNb=4
|
|||||||
Mcu.Name=STM32F103C(8-B)Tx
|
Mcu.Name=STM32F103C(8-B)Tx
|
||||||
Mcu.Package=LQFP48
|
Mcu.Package=LQFP48
|
||||||
Mcu.Pin0=PC13-TAMPER-RTC
|
Mcu.Pin0=PC13-TAMPER-RTC
|
||||||
Mcu.Pin1=PC15-OSC32_OUT
|
Mcu.Pin1=PD0-OSC_IN
|
||||||
Mcu.Pin2=PD0-OSC_IN
|
Mcu.Pin2=PD1-OSC_OUT
|
||||||
Mcu.Pin3=PD1-OSC_OUT
|
Mcu.Pin3=PA13
|
||||||
Mcu.Pin4=PA13
|
Mcu.Pin4=PA14
|
||||||
Mcu.Pin5=PA14
|
Mcu.Pin5=PB7
|
||||||
Mcu.Pin6=PB8
|
Mcu.Pin6=PB8
|
||||||
Mcu.Pin7=PB9
|
Mcu.Pin7=PB9
|
||||||
Mcu.Pin8=VP_SYS_VS_Systick
|
Mcu.Pin8=VP_SYS_VS_Systick
|
||||||
@@ -40,6 +40,7 @@ MxDb.Version=DB.6.0.130
|
|||||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.CAN1_RX1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
NVIC.CAN1_RX1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
|
NVIC.EXTI9_5_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
NVIC.ForceEnableDMAVector=true
|
NVIC.ForceEnableDMAVector=true
|
||||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
@@ -53,6 +54,10 @@ PA13.Mode=Serial_Wire
|
|||||||
PA13.Signal=SYS_JTMS-SWDIO
|
PA13.Signal=SYS_JTMS-SWDIO
|
||||||
PA14.Mode=Serial_Wire
|
PA14.Mode=Serial_Wire
|
||||||
PA14.Signal=SYS_JTCK-SWCLK
|
PA14.Signal=SYS_JTCK-SWCLK
|
||||||
|
PB7.GPIOParameters=GPIO_PuPd
|
||||||
|
PB7.GPIO_PuPd=GPIO_PULLDOWN
|
||||||
|
PB7.Locked=true
|
||||||
|
PB7.Signal=GPXTI7
|
||||||
PB8.Locked=true
|
PB8.Locked=true
|
||||||
PB8.Mode=CAN_Activate
|
PB8.Mode=CAN_Activate
|
||||||
PB8.Signal=CAN_RX
|
PB8.Signal=CAN_RX
|
||||||
@@ -61,10 +66,6 @@ PB9.Mode=CAN_Activate
|
|||||||
PB9.Signal=CAN_TX
|
PB9.Signal=CAN_TX
|
||||||
PC13-TAMPER-RTC.Locked=true
|
PC13-TAMPER-RTC.Locked=true
|
||||||
PC13-TAMPER-RTC.Signal=GPIO_Output
|
PC13-TAMPER-RTC.Signal=GPIO_Output
|
||||||
PC15-OSC32_OUT.GPIOParameters=GPIO_PuPd
|
|
||||||
PC15-OSC32_OUT.GPIO_PuPd=GPIO_PULLDOWN
|
|
||||||
PC15-OSC32_OUT.Locked=true
|
|
||||||
PC15-OSC32_OUT.Signal=GPXTI15
|
|
||||||
PD0-OSC_IN.Mode=HSE-External-Oscillator
|
PD0-OSC_IN.Mode=HSE-External-Oscillator
|
||||||
PD0-OSC_IN.Signal=RCC_OSC_IN
|
PD0-OSC_IN.Signal=RCC_OSC_IN
|
||||||
PD1-OSC_OUT.Mode=HSE-External-Oscillator
|
PD1-OSC_OUT.Mode=HSE-External-Oscillator
|
||||||
@@ -87,7 +88,7 @@ ProjectManager.KeepUserCode=true
|
|||||||
ProjectManager.LastFirmware=true
|
ProjectManager.LastFirmware=true
|
||||||
ProjectManager.LibraryCopy=0
|
ProjectManager.LibraryCopy=0
|
||||||
ProjectManager.MainLocation=Core/Src
|
ProjectManager.MainLocation=Core/Src
|
||||||
ProjectManager.NoMain=false
|
ProjectManager.NoMain=true
|
||||||
ProjectManager.PreviousToolchain=
|
ProjectManager.PreviousToolchain=
|
||||||
ProjectManager.ProjectBuild=false
|
ProjectManager.ProjectBuild=false
|
||||||
ProjectManager.ProjectFileName=CAN-B.ioc
|
ProjectManager.ProjectFileName=CAN-B.ioc
|
||||||
@@ -122,8 +123,8 @@ RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
|
|||||||
RCC.TimSysFreq_Value=72000000
|
RCC.TimSysFreq_Value=72000000
|
||||||
RCC.USBFreq_Value=72000000
|
RCC.USBFreq_Value=72000000
|
||||||
RCC.VCOOutput2Freq_Value=8000000
|
RCC.VCOOutput2Freq_Value=8000000
|
||||||
SH.GPXTI15.0=GPIO_EXTI15
|
SH.GPXTI7.0=GPIO_EXTI7
|
||||||
SH.GPXTI15.ConfNb=1
|
SH.GPXTI7.ConfNb=1
|
||||||
VP_SYS_VS_Systick.Mode=SysTick
|
VP_SYS_VS_Systick.Mode=SysTick
|
||||||
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
||||||
board=custom
|
board=custom
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ void DebugMon_Handler(void);
|
|||||||
void PendSV_Handler(void);
|
void PendSV_Handler(void);
|
||||||
void SysTick_Handler(void);
|
void SysTick_Handler(void);
|
||||||
void CAN1_RX1_IRQHandler(void);
|
void CAN1_RX1_IRQHandler(void);
|
||||||
|
void EXTI9_5_IRQHandler(void);
|
||||||
/* USER CODE BEGIN EFP */
|
/* USER CODE BEGIN EFP */
|
||||||
|
|
||||||
/* USER CODE END EFP */
|
/* USER CODE END EFP */
|
||||||
|
|||||||
@@ -60,11 +60,15 @@ void MX_GPIO_Init(void)
|
|||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
/*Configure GPIO pin : PC15 */
|
/*Configure GPIO pin : PB7 */
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_15;
|
GPIO_InitStruct.Pin = GPIO_PIN_7;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
|
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
|
||||||
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
||||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* EXTI interrupt init*/
|
||||||
|
HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,10 @@ uint32_t TxMailbox;
|
|||||||
uint8_t isValidData;
|
uint8_t isValidData;
|
||||||
uint8_t status;
|
uint8_t status;
|
||||||
|
|
||||||
|
uint32_t lastDebounceTime = 0;
|
||||||
|
const uint32_t debounceDelay = 50;
|
||||||
|
uint8_t delayLED = 0 ;
|
||||||
|
|
||||||
/* USER CODE END 0 */
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -112,13 +116,16 @@ int main(void)
|
|||||||
|
|
||||||
TxData[0] = 0x1;
|
TxData[0] = 0x1;
|
||||||
|
|
||||||
|
// milliseconds
|
||||||
|
|
||||||
/* USER CODE END 2 */
|
/* USER CODE END 2 */
|
||||||
|
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
/* USER CODE BEGIN WHILE */
|
/* USER CODE BEGIN WHILE */
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
//HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
|
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
|
||||||
|
HAL_Delay(delayLED*100);
|
||||||
}
|
}
|
||||||
/* USER CODE END 3 */
|
/* USER CODE END 3 */
|
||||||
}
|
}
|
||||||
@@ -126,17 +133,22 @@ int main(void)
|
|||||||
void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
|
void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
|
||||||
{
|
{
|
||||||
HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO1, &RxHeader, RxData);
|
HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO1, &RxHeader, RxData);
|
||||||
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13,RxData[0]);
|
delayLED+=RxData[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
void HAL_GPIO_EXTI15_Callback(uint16_t GPIO_Pin)
|
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||||
{
|
{
|
||||||
if(GPIO_Pin == GPIO_PIN_15)
|
if(GPIO_Pin == GPIO_PIN_7)
|
||||||
{
|
{
|
||||||
|
uint32_t currentTime = HAL_GetTick();
|
||||||
|
if ((currentTime - lastDebounceTime) > debounceDelay)
|
||||||
|
{
|
||||||
|
lastDebounceTime = currentTime;
|
||||||
TxData[0] ^= 1;
|
TxData[0] ^= 1;
|
||||||
HAL_CAN_AddTxMessage(&hcan, &TxHeader, TxData, &TxMailbox);
|
HAL_CAN_AddTxMessage(&hcan, &TxHeader, TxData, &TxMailbox);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -212,6 +212,20 @@ void CAN1_RX1_IRQHandler(void)
|
|||||||
/* USER CODE END CAN1_RX1_IRQn 1 */
|
/* USER CODE END CAN1_RX1_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles EXTI line[9:5] interrupts.
|
||||||
|
*/
|
||||||
|
void EXTI9_5_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN EXTI9_5_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END EXTI9_5_IRQn 0 */
|
||||||
|
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_7);
|
||||||
|
/* USER CODE BEGIN EXTI9_5_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END EXTI9_5_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN 1 */
|
/* USER CODE BEGIN 1 */
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|||||||
Reference in New Issue
Block a user