ATmega32U4 芯片 时钟研究

news/2024/10/18 8:35:19/

参考手册《ATMega32U4.pdf》
C:\WinAVR-20100110\doc\avr-libc\avr-libc-user-manual.pdf
C:\WinAVR-20100110\doc\avr-libc\avr-libc-user-manual\ 下面的网页

clock_prescale_set() 函数在 C:\WinAVR-20100110\avr\include\avr\power.h中定义

1、USB 时钟

《ATMega32U4.pdf》page40:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

#define PINDIV 4/** Indicates that the target AVR microcontroller belongs to the Series 4 AVR8 USB controller*  (i.e. ATMEGAxxU4) when defined.*/#define USB_SERIES_4_AVR#if !defined(F_USB)#error F_USB is not defined. You must define F_USB to the frequency of the unprescaled USB controller clock in your project makefile.#endif#if (F_USB == 8000000)#if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \defined(__AVR_ATmega32U2__))#define USB_PLL_PSC                0#elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))#define USB_PLL_PSC                0#elif (defined(__AVR_AT90USB646__)  || defined(__AVR_AT90USB1286__) || defined(__AVR_ATmega32U6__))#define USB_PLL_PSC                ((1 << PLLP1) | (1 << PLLP0))#elif (defined(__AVR_AT90USB647__)  || defined(__AVR_AT90USB1287__))#define USB_PLL_PSC                ((1 << PLLP1) | (1 << PLLP0))#endif#elif (F_USB == 16000000)#if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \defined(__AVR_ATmega32U2__))#define USB_PLL_PSC                (1 << PLLP0)#elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))#define USB_PLL_PSC                (1 << PINDIV)#elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_ATmega32U6__))#define USB_PLL_PSC                ((1 << PLLP2) | (1 << PLLP1))#elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__))#define USB_PLL_PSC                ((1 << PLLP2) | (1 << PLLP0))#endif#endif      

2、CPU时钟

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

如果DIV8 设置了,被烧写了,那么分频是8分频。
如果DIV8没有设置,那么直接晶振是几Mhz ,系统CPU运行,就是多少MHZ

这里写图片描述

这里写图片描述

查看一下 arduino的 16u2的 DIV8 是设置的多少 ?


http://www.ppmy.cn/news/431896.html

相关文章

怎么下载网页上的视频m3u4

第一怎么寻找视频的播放源网址&#xff0c;也就是视频的api接口 首先打开你的视频网站&#xff0c; 然后按F12&#xff08;打开开发者模式&#xff09;在右上角选着网络&#xff0c;就可以查看该视频的网络请求了 然后寻找一个请求以m3u8结尾或者MP4结尾的的请求 我们这里是m…

Python爬虫采集,\u4e2d\u4ecb\u7f51 网站排行榜, 样本数量:58341

今天要实现的是《爬虫120例》中的第28例,采用的技术方案为多线程+队列。 目标站点分析 本次要抓取的目标站点为:\u4e2d\u4ecb\u7f51,这个网站提供了网站排行榜、互联网网站排行榜、中文网站排行榜等数据。 网站展示的样本数据量是 :58341。 采集页面地址为 Python爬虫地…

ATmega32U4 芯片介绍 相关开源应用

网址&#xff1a; https://www.microchip.com/wwwproducts/en/atmega32u4 Summary The low-power Microchip 8-bit AVR RISC-based microcontroller featuring 32KB self-programming flash program memory, 2.5KB SRAM, 1KB EEPROM, USB 2.0 full-speed/low speed device, …

ATmega 32u4 熔丝位 解析

参考网页&#xff1a; http://ju.outofmemory.cn/entry/161315 HOW TO RESTORE THE ARDUINO UNO R3 ATMEGA16U2 FIRMWARE USING THE ARDUINO IDE http://www.instructables.com/id/How-to-Restore-the-Arduino-UNO-R3-ATmega16U2-Firmw/ Step 1: Background The avrdude c…

匹配中文字符的正则表达式: [/u4e00-/u9fa5]

这里是几个主要非英文语系字符范围(google上找到的): 2E80&#xff5e;33FFh&#xff1a;中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符&#xff0c;中日韩的符号、标点、带圈或带括符文数字、月份&#xff0c;以及日本的假名组合、单位、年…

LoRa32U4II 介绍以及基于Arduino IDE编译环境搭建及测试

目录 LoRa 模块LoRa32u4 II介绍LoRa32u4 II 资料下载LoRa32u4 II 规格介绍LoRa32u4 II 脚位说明 编译环境介绍电脑系统编译软件Arduino需求库 编译环境搭建及测试LoRa32u4 II 测试硬件接线图编译环境搭建说明 LoRa 模块LoRa32u4 II介绍 产品图片 LoRa32u4 II 资料下载 链接…

Python_re_[\u4e00-\u9fa5]+_提取所有中文文本

提取中文文本 简介unicode 编码转换re.findallre 中 [] re.S[\u4e00-\u9fa5] 提取中文案例 简介 \u4e00 和 \u9fa5 是 unicode 编码&#xff0c;正好是中文编码开头和结尾对应的数值。 [\u4e00-\u9fa5] 在 re.findall 中可用来找出文本中所有中文。 unicode 编码转换 >&…

atmega32u4-QMK小键盘调试记录

本文根据B站up主 三三三三三文啊 的视频 链接&#xff1a;【机械键盘DIY】真正从零开始 设计制作一款多媒体机械键盘 制作流程为&#xff1a; 一.确定键盘的布局 网站&#xff1a;www.keyboard-layout-editor.com 保存SVG文档and JSON文件&#xff0c;后者用于生成软件键位表。…