STM32F103CDE中文数据手册:增强型32位微控制器

需积分: 9 3 下载量 139 浏览量 更新于2024-07-29 收藏 654KB PDF 举报
"STM32F103CDE_Datasheet_CH.pdf 是STM32系列微控制器的数据手册,主要涵盖了STM32F103xC、STM32F103xD和STM32F103xE的增强型芯片。这个数据手册提供了芯片的详细规格和功能介绍,包括其内核、存储器、接口、电源管理和低功耗特性等。" STM32F103系列是基于32位ARM Cortex-M3 CPU的微控制器,具备高性能和低功耗的特点。它们的工作频率最高可达72MHz,具有单周期乘法和硬件除法功能,确保了高效的计算能力。在存储方面,这些芯片提供了从256K到512K字节的闪存程序存储器,以及高达64K字节的SRAM。存储器控制器支持多种类型的外部存储器如CF卡、SRAM、PSRAM、NOR和NAND。 在接口方面,STM32F103集成了多种通信协议,包括USB、CAN、11个定时器、3个ADC、13个通信接口(如I2C、SPI、USART、SDIO、I2S)。其中,ADC具有高速转换能力,能在1微秒内完成转换,并支持21个输入通道,范围为0至3.6V,还包含了温度传感器。此外,2通道12位D/A转换器可用于模拟信号输出。 STM32F103系列还拥有丰富的外设支持,例如12通道DMA控制器,可以与多个外设进行数据传输,如定时器、ADC、DAC、SDIO、I2S、SPI、I2C和USART。该系列微控制器有112个快速I/O口,其中大部分I/O口可以映射为16个外部中断,且大部分可以承受5V信号输入。调试模式下,支持串行单线调试(SWD)和JTAG接口,以及Cortex-M3内嵌跟踪模块(ETM)。 定时器功能强大,包括最多4个16位定时器,每个定时器有4个通道,用于输入捕获、输出比较、PWM或脉冲计数。还有2个16位高级控制定时器,带有6路PWM输出和死区控制功能。此外,还有2个看门狗定时器(独立和窗口型)以及系统时间定时器。 通信接口多样化,最多提供2个I2C接口,兼容SMBus/PMBus标准,便于与其他设备通信。这些特性使得STM32F103系列适用于广泛的嵌入式应用,如工业控制、消费电子和物联网设备。 该数据手册还提到了电源管理功能,如2.0~3.6伏供电、上电/断电复位、可编程电压监测器以及各种低功耗模式,如睡眠、停机和待机模式,确保了在不同应用场景下的能效优化。同时,VBAT引脚可以为RTC和后备寄存器提供备用电源,即使主电源断开也能保持时间等关键数据。 STM32F103系列微控制器是功能强大的嵌入式平台,广泛应用于需要高效计算、丰富接口和低功耗特性的系统设计中。

1 package com.alibaba.traffic.web; 2 3 import java.io.UnsupportedEncodingException; 4 import java.security.InvalidKeyException; 5 import java.security.NoSuchAlgorithmException; 6 7 import javax.crypto.Mac; 8 import javax.crypto.SecretKey; 9 import javax.crypto.spec.SecretKeySpec; 10 11 import org.apache.commons.codec.binary.Hex; 12 特别注意 附件 6 13 /** 14 * @author dongdong.fdd 15 * @date 2018/9/27 上午11:29 16 */ 17 public class T { 18 public static void main(String[] args) 19 throws InvalidKeyException, UnsupportedEncodingException, No SuchAlgorithmException { 20 long timestamp = System.currentTimeMillis() / 1000; 21 String paramValuesStr = "allAMAP-TRAFFIC-BRAIN10" + timestam p;//该值为排好序的参数的参数值拼接结果 22 String clientSecret = "testclientsecret";//该值为申请到的client Secret 23 24 Mac mac = Mac.getInstance("HmacSHA256"); 25 byte[] secretByte = clientSecret.getBytes("UTF-8"); 26 byte[] dataBytes = paramValuesStr.getBytes("UTF-8"); 27 28 SecretKey secretKey = new SecretKeySpec(secretByte,"HMACSHA2 56"); 29 mac.init(secretKey); 30 31 byte[] doFinal = mac.doFinal(dataBytes); 32 byte[] hexB = new Hex().encode(doFinal); 33 34 String digest = new String(hexB, "utf-8");//计算好的签名 26f2042cde2e9ca01d41ecdb27a91fd9b84f0263c411bcb13b195ec589096885 35 System.out.println(digest); 36 37 String resultUrl = "http://et-api.amap.com/index/cityRankin g?adcodes=all&clientKey=AMAP-TRAFFIC-BRAIN&size=10×tamp="+times tamp+"&digest=" + digest; 38 System.out.println(resultUrl); 39 } 将这段代码使用python实现

2023-07-14 上传