存档:HART通讯没反应,可能跟频率输出有关

This commit is contained in:
吴俊潮 2025-05-07 17:21:22 +08:00
parent dec8462463
commit d99585f28a
8 changed files with 16781 additions and 16720 deletions

View File

@ -20,6 +20,7 @@
#include "eeprom_spi.h"
#include "stdlib.h"
#include "cmsis_os.h"
#include "tim.h"
extern osThreadId task_lcdHandle;
extern osThreadId task_menuHandle;

View File

@ -29,7 +29,7 @@ extern "C" {
#include "main.h"
/* USER CODE BEGIN Includes */
#define FREQ_SYS 41472
#define FREQ_SYS 921600
#define freq_operation(FREQ, PULSE) \
do \
{ \

View File

@ -203,6 +203,7 @@ void start_task_lcd(void const * argument)
* @param argument: Not used
* @retval None
*/
uint8_t hart_test = 0;
/* USER CODE END Header_start_task_hart */
void start_task_hart(void const * argument)
{
@ -211,9 +212,19 @@ void start_task_hart(void const * argument)
for (;;)
{
//驱动验证DEVICE <--- HART ---> SIG
//hart_communicate(&scom1_hart);
transparent_hart(&scom1_hart);
if(hart_test == 1)
{
hart_test = 0;
scom1_hart.tx_flag = TRUE;
freq_operation(460800, 50);
delay_cnt(1000);
hart_communicate(&scom1_hart);
}
//transparent_hart(&scom1_hart);
tm1650_read_key(&hi2c1, &kp_flag, COMMAND_READ_KEY_DATA, &key);
@ -267,10 +278,7 @@ void start_rs485(void const * argument)
/* USER CODE BEGIN start_rs485 */
/* Infinite loop */
for (;;)
{
//驱动验证PC <--- 485 ---> SIG
//parse_scom_485(&scom2_rs485);
{
transparent_485(&scom2_rs485);
osDelay(10);

View File

@ -45,9 +45,9 @@ void MX_TIM1_Init(void)
/* USER CODE END TIM1_Init 1 */
htim1.Instance = TIM1;
htim1.Init.Prescaler = 2000-1;
htim1.Init.Prescaler = 90-1;
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
htim1.Init.Period = 41-1;
htim1.Init.Period = 922-1;
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim1.Init.RepetitionCounter = 0;
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
@ -71,7 +71,7 @@ void MX_TIM1_Init(void)
Error_Handler();
}
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 20736-1;
sConfigOC.Pulse = 461-1;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
@ -81,6 +81,11 @@ void MX_TIM1_Init(void)
{
Error_Handler();
}
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
{
Error_Handler();
}
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
@ -257,8 +262,10 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
/* USER CODE END TIM1_MspPostInit 0 */
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();
/**TIM1 GPIO Configuration
PB0 ------> TIM1_CH2N
PE13 ------> TIM1_CH3
*/
GPIO_InitStruct.Pin = PWM_OUT_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
@ -267,6 +274,13 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
HAL_GPIO_Init(PWM_OUT_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/* USER CODE BEGIN TIM1_MspPostInit 1 */
/* USER CODE END TIM1_MspPostInit 1 */

View File

@ -153,7 +153,24 @@
<Name>-U53FF6B064884525650271587 -O2254 -SF5000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>47</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134288218</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\App\HART\hart.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\signal_generator\../App/HART/hart.c\47</Expression>
</Bp>
</Breakpoint>
<WatchWindow1>
<Ww>
<count>0</count>
@ -233,7 +250,12 @@
<Ww>
<count>15</count>
<WinNumber>1</WinNumber>
<ItemText>ble_send_test</ItemText>
<ItemText>ble_send_test,0x0A</ItemText>
</Ww>
<Ww>
<count>16</count>
<WinNumber>1</WinNumber>
<ItemText>hart_test,0x0A</ItemText>
</Ww>
</WatchWindow1>
<WatchWindow2>
@ -509,7 +531,7 @@
<Group>
<GroupName>Application/User/App/HART</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,7 @@
*
*----------------------------------------------------------------------------
*
* Portions Copyright <EFBFBD> 2016 STMicroelectronics International N.V. All rights reserved.
* Portions Copyright © 2016 STMicroelectronics International N.V. All rights reserved.
* Portions Copyright (c) 2013 ARM LIMITED
* All rights reserved.
* Redistribution and use in source and binary forms, with or without

View File

@ -82,61 +82,62 @@ Mcu.Pin24=PE9
Mcu.Pin25=PE10
Mcu.Pin26=PE11
Mcu.Pin27=PE12
Mcu.Pin28=PE14
Mcu.Pin29=PE15
Mcu.Pin28=PE13
Mcu.Pin29=PE14
Mcu.Pin3=PH0-OSC_IN
Mcu.Pin30=PB10
Mcu.Pin31=PB11
Mcu.Pin32=PB12
Mcu.Pin33=PB13
Mcu.Pin34=PB14
Mcu.Pin35=PB15
Mcu.Pin36=PD8
Mcu.Pin37=PD10
Mcu.Pin38=PD11
Mcu.Pin39=PD12
Mcu.Pin30=PE15
Mcu.Pin31=PB10
Mcu.Pin32=PB11
Mcu.Pin33=PB12
Mcu.Pin34=PB13
Mcu.Pin35=PB14
Mcu.Pin36=PB15
Mcu.Pin37=PD8
Mcu.Pin38=PD10
Mcu.Pin39=PD11
Mcu.Pin4=PH1-OSC_OUT
Mcu.Pin40=PD13
Mcu.Pin41=PD14
Mcu.Pin42=PD15
Mcu.Pin43=PC6
Mcu.Pin44=PC7
Mcu.Pin45=PC8
Mcu.Pin46=PC9
Mcu.Pin47=PA8
Mcu.Pin48=PA9
Mcu.Pin49=PA10
Mcu.Pin40=PD12
Mcu.Pin41=PD13
Mcu.Pin42=PD14
Mcu.Pin43=PD15
Mcu.Pin44=PC6
Mcu.Pin45=PC7
Mcu.Pin46=PC8
Mcu.Pin47=PC9
Mcu.Pin48=PA8
Mcu.Pin49=PA9
Mcu.Pin5=PC0
Mcu.Pin50=PA11
Mcu.Pin51=PA12
Mcu.Pin52=PA13
Mcu.Pin53=PA14
Mcu.Pin54=PA15
Mcu.Pin55=PC10
Mcu.Pin56=PC11
Mcu.Pin57=PC12
Mcu.Pin58=PD0
Mcu.Pin59=PD1
Mcu.Pin50=PA10
Mcu.Pin51=PA11
Mcu.Pin52=PA12
Mcu.Pin53=PA13
Mcu.Pin54=PA14
Mcu.Pin55=PA15
Mcu.Pin56=PC10
Mcu.Pin57=PC11
Mcu.Pin58=PC12
Mcu.Pin59=PD0
Mcu.Pin6=PC1
Mcu.Pin60=PD4
Mcu.Pin61=PD5
Mcu.Pin62=PD6
Mcu.Pin63=PD7
Mcu.Pin64=PB3
Mcu.Pin65=PB4
Mcu.Pin66=PB5
Mcu.Pin67=PB6
Mcu.Pin68=PB7
Mcu.Pin69=PB9
Mcu.Pin60=PD1
Mcu.Pin61=PD4
Mcu.Pin62=PD5
Mcu.Pin63=PD6
Mcu.Pin64=PD7
Mcu.Pin65=PB3
Mcu.Pin66=PB4
Mcu.Pin67=PB5
Mcu.Pin68=PB6
Mcu.Pin69=PB7
Mcu.Pin7=PC2
Mcu.Pin70=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin71=VP_SYS_VS_tim7
Mcu.Pin72=VP_TIM1_VS_ClockSourceINT
Mcu.Pin73=VP_TIM3_VS_ClockSourceINT
Mcu.Pin74=VP_TIM6_VS_ClockSourceINT
Mcu.Pin70=PB9
Mcu.Pin71=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin72=VP_SYS_VS_tim7
Mcu.Pin73=VP_TIM1_VS_ClockSourceINT
Mcu.Pin74=VP_TIM3_VS_ClockSourceINT
Mcu.Pin75=VP_TIM6_VS_ClockSourceINT
Mcu.Pin8=PC3
Mcu.Pin9=PA0-WKUP
Mcu.PinsNb=75
Mcu.PinsNb=76
Mcu.ThirdPartyNb=0
Mcu.UserConstants=xx,xx
Mcu.UserName=STM32F407VGTx
@ -453,6 +454,8 @@ PE12.GPIOParameters=GPIO_Label
PE12.GPIO_Label=INPUT_A2
PE12.Locked=true
PE12.Signal=GPIO_Output
PE13.Locked=true
PE13.Signal=S_TIM1_CH3
PE14.GPIOParameters=PinState,GPIO_Label
PE14.GPIO_Label=INPUT_A1
PE14.Locked=true
@ -561,6 +564,8 @@ SH.COMP_DAC1_group.0=DAC_OUT1,DAC_OUT1
SH.COMP_DAC1_group.ConfNb=1
SH.GPXTI1.0=GPIO_EXTI1
SH.GPXTI1.ConfNb=1
SH.S_TIM1_CH3.0=TIM1_CH3,PWM Generation3 CH3
SH.S_TIM1_CH3.ConfNb=1
SH.S_TIM3_CH4.0=TIM3_CH4,Input_Capture4_from_TI4
SH.S_TIM3_CH4.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64
@ -588,12 +593,15 @@ SPI3.Mode=SPI_MODE_MASTER
SPI3.VirtualType=VM_MASTER
TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM1.Channel-PWM\ Generation2\ CH2N=TIM_CHANNEL_2
TIM1.IPParameters=Prescaler,AutoReloadPreload,Period,OC2Preload_PWM,Channel-PWM Generation2 CH2N,Pulse-PWM Generation2 CH2N,OCFastMode_PWM-PWM Generation2 CH2N
TIM1.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
TIM1.IPParameters=Prescaler,AutoReloadPreload,Period,OC2Preload_PWM,Channel-PWM Generation2 CH2N,Pulse-PWM Generation2 CH2N,OCFastMode_PWM-PWM Generation2 CH2N,OCMode_PWM-PWM Generation2 CH2N,Channel-PWM Generation3 CH3,Pulse-PWM Generation3 CH3
TIM1.OC2Preload_PWM=ENABLE
TIM1.OCFastMode_PWM-PWM\ Generation2\ CH2N=TIM_OCFAST_ENABLE
TIM1.Period=41-1
TIM1.Prescaler=2000-1
TIM1.Pulse-PWM\ Generation2\ CH2N=20736-1
TIM1.OCMode_PWM-PWM\ Generation2\ CH2N=TIM_OCMODE_PWM1
TIM1.Period=922-1
TIM1.Prescaler=90-1
TIM1.Pulse-PWM\ Generation2\ CH2N=461-1
TIM1.Pulse-PWM\ Generation3\ CH3=461-1
TIM3.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM3.Channel-Input_Capture4_from_TI4=TIM_CHANNEL_4
TIM3.IPParameters=Channel-Input_Capture4_from_TI4,Prescaler,Period,AutoReloadPreload