资源简介
在stm32上实现了RSA2048利用已有公钥私钥进行加密解密的过程,实现方式是使用PSCK1方式进行填充.
在keil5中可以成功编译运行,串口打印加密解密数据
在keil5中可以成功编译运行,串口打印加密解密数据

代码片段和文件信息
#include “includes.h“
static __IO u16 m_GetVolVal=0;//当前平均电压
#if 1//adc初始化
/************************************************************************
* @描述: 初始化ADC 开启通道0 规则通道
* @参数: 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); //将外设 ADC1 的全部寄存器重设为缺省值
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //模数转换工作在单次转换模式
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 9; //顺序进行规则转换的ADC通道的数目
ADC_Init(ADC1 &ADC_InitStructure); //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器
ADC_Cmd(ADC1 ENABLE); //使能指定的ADC1
ADC_ResetCalibration(ADC1); //重置指定的ADC1的校准寄存器
while(ADC_GetResetCalibrationStatus(ADC1)); //获取ADC1重置校准寄存器的状态设置状态则等待
ADC_StartCalibration(ADC1); //开始指定ADC1的校准状态
while(ADC_GetCalibrationStatus(ADC1)); //获取指定ADC1的校准程序设置状态则等待
ADC_SoftwareStartConvCmd(ADC1 ENABLE); //使能指定的ADC1的软件转换启动功能
}
#endif
#if 0//获取adc 运行的时候
/************************************************************************
* @描述: 获取adc 并转换存入电平电压
* @参数: NONE
* @返回值: None 这个函数每100mS调用一次
**********************************************************************/
#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规则采样顺序值为1采样时间为239.5周期 239.5 + 12.5 = TCOVN 252 周期 12m 就是 252/12 =21us
ADC_SoftwareStartConvCmd(ADC1 ENABLE); //使能指定的ADC1的软件转换启动功能
while(!ADC_GetFlagStatus(ADC1 ADC_FLAG_EOC ));//等待转换结束
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
/************************************************************************
* @描述: 快速获取启动电压
* @参数: 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个文件信息
相关资源
- stm32做的红外遥控解码程序
- 《emwin实战指南(基于STM32-ISO开发板)
- Beginning STM32: Developing with FreeRTOS libo
- stm32f103c8t6_sch.Lib
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- The direction of synaptic plasticity mediated
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- C 大整数RSA加密
- DXperienceUniversal 10.1.6(2010年8月13日版
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- RSA算法源码
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
评论
共有 条评论