資源簡介
在stm32上實現(xiàn)了RSA2048利用已有公鑰私鑰進(jìn)行加密解密的過程,實現(xiàn)方式是使用PSCK1方式進(jìn)行填充.
在keil5中可以成功編譯運行,串口打印加密解密數(shù)據(jù)
在keil5中可以成功編譯運行,串口打印加密解密數(shù)據(jù)

代碼片段和文件信息
?#include?“includes.h“
static?__IO?u16?m_GetVolVal=0;//當(dāng)前平均電壓
#if?1//adc初始化
/************************************************************************
??*?@描述:?初始化ADC?開啟通道0?規(guī)則通道
??*?@參數(shù):?NONE
??*?@返回值:?None
??**********************************************************************/
void??Adc_Init(void)
{?
ADC_InitTypeDef?ADC_InitStructure;?
GPIO_InitTypeDef?GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB?|RCC_APB2Periph_ADC1 ?ENABLE?); ??//使能ADC1通道時鐘
?
RCC_ADCCLKConfig(RCC_PCLK2_Div6);???//72M/6=12ADC最大時間不能超過14M
//PA0?作為模擬通道輸入引腳?????????????????????????
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN; //模擬輸入引腳
GPIO_Init(GPIOB?&GPIO_InitStructure);
ADC_DeInit(ADC1);??//將外設(shè)?ADC1?的全部寄存器重設(shè)為缺省值
ADC_InitStructure.ADC_Mode?=?ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在獨立模式
ADC_InitStructure.ADC_ScanConvMode?=?DISABLE; //模數(shù)轉(zhuǎn)換工作在單通道模式
ADC_InitStructure.ADC_ContinuousConvMode?=?DISABLE; //模數(shù)轉(zhuǎn)換工作在單次轉(zhuǎn)換模式
ADC_InitStructure.ADC_ExternalTrigConv?=?ADC_ExternalTrigConv_None; //轉(zhuǎn)換由軟件而不是外部觸發(fā)啟動
ADC_InitStructure.ADC_DataAlign?=?ADC_DataAlign_Right; //ADC數(shù)據(jù)右對齊
ADC_InitStructure.ADC_NbrOfChannel?=?9; //順序進(jìn)行規(guī)則轉(zhuǎn)換的ADC通道的數(shù)目
ADC_Init(ADC1?&ADC_InitStructure); //根據(jù)ADC_InitStruct中指定的參數(shù)初始化外設(shè)ADCx的寄存器???
?
ADC_Cmd(ADC1?ENABLE); //使能指定的ADC1
ADC_ResetCalibration(ADC1); //重置指定的ADC1的校準(zhǔn)寄存器
?
while(ADC_GetResetCalibrationStatus(ADC1)); //獲取ADC1重置校準(zhǔn)寄存器的狀態(tài)設(shè)置狀態(tài)則等待
ADC_StartCalibration(ADC1); //開始指定ADC1的校準(zhǔn)狀態(tài)
?
while(ADC_GetCalibrationStatus(ADC1)); //獲取指定ADC1的校準(zhǔn)程序設(shè)置狀態(tài)則等待
?
ADC_SoftwareStartConvCmd(ADC1?ENABLE); //使能指定的ADC1的軟件轉(zhuǎn)換啟動功能
} ?
#endif
#if?0//獲取adc?運行的時候
/************************************************************************
??*?@描述:?獲取adc?并轉(zhuǎn)換存入電平電壓
??*?@參數(shù):?NONE
??*?@返回值:?None???這個函數(shù)每100mS調(diào)用一次
??**********************************************************************/
#define?C_ADC_FILTER_COUNT?20
static?u16?Average_ADC?=?0;
static?u16?m_GetVolVal=0;
void?Get_Adc(void)???
{
??static?u32?ADC_sum?=0?;
static?u8?ADC_Cnt?=0?;
ADC_RegularChannelConfig(ADC1?ADC_Channel_9?1?ADC_SampleTime_239Cycles5?); //ADC1ADC通道3規(guī)則采樣順序值為1采樣時間為239.5周期 ??239.5?+?12.5?=?TCOVN 252?周期????12m?就是?252/12?=21us ????
??
ADC_SoftwareStartConvCmd(ADC1?ENABLE); //使能指定的ADC1的軟件轉(zhuǎn)換啟動功能
?
while(!ADC_GetFlagStatus(ADC1?ADC_FLAG_EOC?));//等待轉(zhuǎn)換結(jié)束
if(ADC_Cnt++ {
ADC_sum?+=?ADC_GetConversionValue(ADC1);
}
else
{//1S?filter
??Average_ADC?=?ADC_sum/C_ADC_FILTER_COUNT;
??ADC_Cnt?=?0;
??ADC_sum?=?0;
//m_GetVolVal?=?Average_ADC*1830/4096;//ADC?=?Vol*20/(100+20)*4096/3.3-->Vol?=?ADC*(122/22)*3.3/4096=ADC*18.3/4096
??m_GetVolVal?=?Average_ADC*1881/4096;//ADC?=?Vol*10/(47+10)*4096/3.3-->Vol?=?ADC*(57/10)*3.3/4096=ADC*18.81/4096
}
}
#endif
#if?1//快速獲取adc值?6次平均值
#define?C_ADC_FILTER_COUNT?60
/************************************************************************
??*?@描述:?快速獲取啟動電壓
??*?@參數(shù):?NO
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-01-12?22:50??Bsp\
?????文件???????17750??2020-01-11?16:23??Bsp\Bsp.c
?????文件????????3920??2018-05-02?17:58??Bsp\WK_UP.c
?????文件????????4520??2018-05-02?16:49??Bsp\adc.c
?????文件?????????217??2018-04-28?12:53??Bsp\adc.h
?????文件???????10006??2018-05-04?14:01??Bsp\bsp.h
?????文件????????1535??2017-05-20?19:32??Bsp\delay.c
?????文件?????????238??2016-11-18?01:01??Bsp\delay.h
?????文件????????4788??2017-10-28?16:58??Bsp\ds18B20.c
?????文件?????????755??2017-10-28?15:10??Bsp\ds18b20.h
?????文件????????5656??2017-03-22?11:04??Bsp\mc3433.c
?????文件????????2809??2017-03-21?14:12??Bsp\mc3433.h
?????文件????????1822??2018-04-28?15:57??Bsp\mtk.c
?????文件?????????278??2018-03-18?20:36??Bsp\mtk.h
?????文件????????1672??2018-05-03?11:38??Bsp\stmbkb.c
?????文件?????????208??2018-04-28?11:41??Bsp\stmbkb.h
?????文件????????3094??2016-12-25?21:03??Bsp\stmflash.c
?????文件????????1046??2016-12-25?14:45??Bsp\stmflash.h
?????文件????????1627??2017-05-18?13:44??Bsp\wdg.c
?????文件?????????268??2017-02-14?23:21??Bsp\wdg.h
?????文件?????????183??2017-10-12?14:48??Bsp\wkup.h
?????目錄???????????0??2020-01-12?22:50??CORE\
?????文件???????17273??2010-06-07?10:25??CORE\core_cm3.c
?????文件???????85714??2011-02-09?14:59??CORE\core_cm3.h
?????文件???????15503??2011-03-10?10:52??CORE\startup_stm32f10x_hd.s
?????文件???????12765??2020-01-12?21:39??CORE\startup_stm32f10x_md.s
?????目錄???????????0??2020-01-12?22:56??Project\
?????文件?????????339??2020-01-12?00:05??Project\EventRecorderStub.scvd
?????文件??????108146??2020-01-12?21:45??Project\Jli
?????文件?????????755??2017-09-07?14:11??Project\Jli
?????文件????????1205??2017-08-18?10:42??Project\MOBD.BAT
............此處省略106個文件信息
評論
共有 條評論