当前位置: 首页 > news >正文

广州市海珠区建设局五位一体网站快速开发平台开发

广州市海珠区建设局五位一体网站,快速开发平台开发,wordpress云音乐插件,广州白云建方舱医院获取唯一设备标识符UID前言一、什么事UID二、实验过程1.CubeMx配置2.代码实现3.实验结果总结前言 这一章节介绍如何获取STM32芯片中的唯一的ID号的两种方法。 一、什么事UID 在许多项目中#xff0c;识别设备是必要的。从简单的设备描述到更复杂的设备#xff0c;如 USB 串… 获取唯一设备标识符UID前言一、什么事UID二、实验过程1.CubeMx配置2.代码实现3.实验结果总结前言 这一章节介绍如何获取STM32芯片中的唯一的ID号的两种方法。 一、什么事UID 在许多项目中识别设备是必要的。从简单的设备描述到更复杂的设备如 USB 串行命名、安全密钥、加密密钥等。有许多方法可以在微控制器中实现唯一ID。从简单的硬编码到固件中单独刷新信息闪存到设备首次运行时随机生成。当谈到STM32 MCU时还有另一种更简单更清晰的可能性。在制造过程中96位ID被编码到微控制器上。 所谓的唯一 ID 由 3 个部分组成 晶圆上的 X 和 Y 坐标以 BCD 格式表示批号晶圆编号 对于 UID 访问您只需在指定地址读取内存。请记住不同的MCU线在内存中具有此数据扇区的不同位置。在这篇文章的最后我将总结其中的大部分。 由于STM32是32位处理器我们必须执行三次32位偏移的读出以获得完整的92位ID。当然我们只能使用其中的一部分。 例如STM32F0处理器的起始地址是0x1FFFF7AC。因此要读取完整的 UID我们必须读取以下地址 #define ID1 (*(unsigned long *)0x1FFFF7AC) #define ID2 (*(unsigned long *)0x1FFFF7B0) #define ID3 (*(unsigned long *)0x1FFFF7B4)我们还可以将起始地址定义为数组的开头 unsigned long *id (unsigned long *)0x1FFFF7AC; id[0] id[1] id[2]由于STM32中的无符号长整型是一个32位变量因此按索引访问数组会导致索引*32位偏移与起始地址。 您可以在下面找到大多数STM32微控制器的唯一ID起始地址。 二、实验过程 这里Cubex配置非必须主要是为了打印出UID所以可以使用前面实验的代码 1.CubeMx配置 选择芯片stm32f103c6t6新建工程 设置时钟源最小系统外部晶振8Mhz作为外部高速HSE时钟源。由于没有外接外部低速晶振这里低速时钟源选择旁路时钟源。 配置时钟树这里使用官方推荐的配置 CubeMX配置如下 USART1的参数配置如下波特率115200传输数据长度为8 Bit奇偶检验无停止位1.其他参数默认 SYS选项卡中Debug选项选择串口这个选项可以设置不会有影响 Code Generator中设置只拷贝使用到的库分离.c和.h文件 设置好项目名称和路径点击GENERATE CODE即可生成后使用keil5 IDE打开。 2.代码实现 两种获取方式如下 int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_DMA_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 *///方法一uint32_t uid[3];uid[0] (uint32_t)(READ_REG(*((uint32_t *)UID_BASE)));uid[1] (uint32_t)(READ_REG(*((uint32_t *)(UID_BASE 4U))));uid[2] (uint32_t)(READ_REG(*((uint32_t *)(UID_BASE 8U))));for(int8_t i 0; i 3; i) {printf(%x \r\n, uid[i]);} printf(\r\n); //方法二uint32_t *id (uint32_t *)0x1FFFF7E8;for(int8_t i 0; i 3; i) {printf(%x \r\n, *uint8_t *(idi));} printf(\r\n); /* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }3.实验结果 这里打印的结果大家可能不同这是正常的相同才不正常 46528358 46528358 总结 本章简单介绍了获取STM32唯一设备标识符UID的方法。
http://www.hkea.cn/news/14382678/

相关文章:

  • 南京专业网站优化公司扩展名网站
  • 关于营销的网站有哪些内容济南微信小程序报备系统
  • 网站建设地带网站敏感目录漏洞修复
  • 网站建设策划方案书论文msn wordpress 照片
  • 微信表情包制作网站西峡微网站开发
  • 群晖网站建设腾讯云域名交易平台
  • 网站设计与制作是做什么工作网站手机验证码怎么做
  • 站内营销推广方式有哪些网站建设费用推荐网络专业
  • 第一ppt网站wordpress外部链接
  • 信息化建设 网站html5网站首页代码
  • 电商网站开发要求北大青鸟的网站建设课程多少钱
  • 急求一张 网站正在建设中的图片商丘企业网站建设公司
  • 上海做网站seo做网站建设的怎么拓展业务
  • 更改网站后台thinkphp可以做网站吗
  • 如何用代码做分数查询的网站永久免费国外ip代理
  • 11108给换成119333做网站做淘宝图片的网站
  • 网站分类查询28商机网
  • 兰州建设工程信息网站黄冈便宜的网站推广怎么做
  • 公司网站建设小江wordpress主题路径
  • 网站 添加备案号正方教务系统管理系统入口
  • 去年做那些网站能致富网站建设用到什么软件
  • 济南做网站软件如何用wordpress插件下载
  • 制作网站设计作品wordpress数据库怎么替换链接
  • 灵台网站建设wordpress 博客 知名
  • 市直部门网站建设维护工作总结崇州市城乡建设局网站
  • 公司网页网站如何做外贸自己做网站
  • 外贸网站一般用什么框架分类信息网站开发教程
  • 网站建设要规避的公司找人做网站需要什么
  • 专业做域名的网站php网站开发的第三章
  • 大淘客网站如何做seo园岭中小网站建设