111 lines
3.5 KiB
C
111 lines
3.5 KiB
C
|
|
/**************** (C) COPYRIGHT 2023 ɽ<><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿƼ<DCBF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾ *******************
|
|||
|
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: Kaiser
|
|||
|
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> :
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
*********************************** <EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼ ************************************
|
|||
|
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
********************************************************************************/
|
|||
|
|
|
|||
|
|
/******************************** <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *************************************
|
|||
|
|
*
|
|||
|
|
*******************************************************************************/
|
|||
|
|
#include "stm32f10x.h"
|
|||
|
|
#include "BSP.H"
|
|||
|
|
/******************************** <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *************************************
|
|||
|
|
* ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*******************************************************************************/
|
|||
|
|
void BIOS_NVIC_Init(void)
|
|||
|
|
{
|
|||
|
|
NVIC_SetPriorityGrouping(7); // <09><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ֹ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ж<EFBFBD>Ƕ<EFBFBD><C7B6> <20><><EFBFBD><EFBFBD>ͼ
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
<EFBFBD><EFBFBD>7.4 <EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õĹ<EFBFBD>ϵ
|
|||
|
|
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
|
0 [7:1] [0:0]
|
|||
|
|
1 [7:2] [1:0]
|
|||
|
|
2 [7:3] [2:0]
|
|||
|
|
3 [7:4] [3:0]
|
|||
|
|
4 [7:5] [4:0]
|
|||
|
|
5 [7:6] [5:0]
|
|||
|
|
6 [7:7] [6:0]
|
|||
|
|
7 <EFBFBD><EFBFBD> [7:0]<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
// __set_CONTROL( 0x03u ); // <09>л<EFBFBD><D0BB><EFBFBD>PSP, <20><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩģʽ
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// <20><>ʼ<EFBFBD><CABC> ADC1
|
|||
|
|
void ADC1_Init() {
|
|||
|
|
// ʹ<><CAB9> ADC1 ʱ<><CAB1>
|
|||
|
|
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
|
|||
|
|
|
|||
|
|
// <20><>ʼ<EFBFBD><CABC> GPIO <20><><EFBFBD>ã<EFBFBD><C3A3>ɸ<EFBFBD><C9B8><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// ...
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> ADC <20><><EFBFBD><EFBFBD>
|
|||
|
|
ADC_InitTypeDef ADC_InitStruct;
|
|||
|
|
ADC_StructInit(&ADC_InitStruct);
|
|||
|
|
|
|||
|
|
ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right;
|
|||
|
|
ADC_InitStruct.ADC_ContinuousConvMode = DISABLE;
|
|||
|
|
ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
|
|||
|
|
ADC_Init(ADC1, &ADC_InitStruct);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> ADC ͨ<><CDA8> 16 <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 1, ADC_SampleTime_55Cycles5);
|
|||
|
|
|
|||
|
|
// ʹ<><CAB9><EFBFBD>ڲ<EFBFBD><DAB2>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ADC_TempSensorVrefintCmd(ENABLE);
|
|||
|
|
|
|||
|
|
// ʹ<><CAB9> ADC1
|
|||
|
|
ADC_Cmd(ADC1, ENABLE);
|
|||
|
|
|
|||
|
|
// У ADC1
|
|||
|
|
ADC_ResetCalibration(ADC1);
|
|||
|
|
while (ADC_GetResetCalibrationStatus(ADC1));
|
|||
|
|
ADC_StartCalibration(ADC1);
|
|||
|
|
while (ADC_GetCalibrationStatus(ADC1));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// <20><>ȡ<EFBFBD>ڲ<EFBFBD><DAB2>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
uint16_t Read_Internal_Temperature() {
|
|||
|
|
// <20><><EFBFBD><EFBFBD> ADC1 ת<><D7AA>
|
|||
|
|
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
|
|||
|
|
|
|||
|
|
// <20>ȴ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
while (!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> ADC1 ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
return ADC_GetConversionValue(ADC1);
|
|||
|
|
}
|
|||
|
|
void GPIO_InPutset(void)
|
|||
|
|
{ //ADC1_Init();
|
|||
|
|
GPIO_InitTypeDef GPIO_InitStructure;
|
|||
|
|
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
|
|||
|
|
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
|
|||
|
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
|
|||
|
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
|||
|
|
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
|||
|
|
|
|||
|
|
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
|
|||
|
|
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
|
|||
|
|
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
|
|||
|
|
// GPIO_Init(GPIOA, &GPIO_InitStructure);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
uint8_t InstrumentTypeRead(void)
|
|||
|
|
{
|
|||
|
|
return ((GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12) | GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_13) << 1) | (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_14) << 2) | (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_15) << 3) );
|
|||
|
|
}
|
|||
|
|
bool SafeCheck(void)
|
|||
|
|
{
|
|||
|
|
return GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/******** (C) COPYRIGHT 2023 ɽ<><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿƼ<DCBF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾ **** End Of File ********/
|