Arduino 频率为 11.0592MHz。修改Timer0、delayMicroseconds()

2023-12-04

我在 Arduino 环境中使用 11.0592MHz 的 ATMega328P。我发现delayMicroseconds()函数快了大约27%。原因是,wiring.c 中的代码假设时钟速度现在为 8MHz。

现在我尝试修复它。我发现了不同的帖子,但我不确定什么是最兼容 Arduino 的方式。你能推荐什么?

  1. 如果F_CPU是11.0592MHz,将wiring.c中的变量“us”乘以1.27?简单,但只影响delayMicroseconds,而不影响millis()、micros()、delay()等。
  2. 将预分频系数从 64 更改为 ???

其他想法或指南?

先感谢您。

Felix


Arduino 的方法是使用新的 F_CPU 速度为您的主板制作一个自定义平台。核心库应该携带此 F_CPU。

这很简单,只需制作一个包含差异的boards.txt 文件即可。当前两个 IDE 之间的文件位置(两者相同)不同。对于 Arduino IDE 1.0.5:

C:\Users\mflaga\Documents\Arduino\hardware\myArduino11MgHz\boards.txt

对于 1.5.5 的情况:

C:\Users\mflaga\Documents\Arduino\hardware\myArduino11MgHz\avr\boards.txt

在您的情况下,草图目录会有所不同。

# See: http://code.google.com/p/arduino/wiki/Platforms

##############################################################

myArduino11MgHz.name=Arduino 11MgHz

myArduino11MgHz.vid.0=0x2341
myArduino11MgHz.pid.0=0x0043
myArduino11MgHz.vid.1=0x2341
myArduino11MgHz.pid.1=0x0001

myArduino11MgHz.upload.tool=avrdude
myArduino11MgHz.upload.protocol=arduino
myArduino11MgHz.upload.maximum_size=32256
myArduino11MgHz.upload.maximum_data_size=2048
myArduino11MgHz.upload.speed=115200

myArduino11MgHz.bootloader.tool=avrdude
myArduino11MgHz.bootloader.low_fuses=0xFF
myArduino11MgHz.bootloader.high_fuses=0xDE
myArduino11MgHz.bootloader.extended_fuses=0x05
myArduino11MgHz.bootloader.unlock_bits=0x3F
myArduino11MgHz.bootloader.lock_bits=0x0F
myArduino11MgHz.bootloader.file=optiboot/optiboot_atmega328.hex

myArduino11MgHz.build.mcu=atmega328p
myArduino11MgHz.build.f_cpu=11059200L
myArduino11MgHz.build.board=AVR_myArduino11MgHz
myArduino11MgHz.build.core=arduino:arduino
myArduino11MgHz.build.variant=arduino:standard

##############################################################

这里有一个第 3 方 GUI 编辑器董事会.txt。

免责声明。上面的代码确实可以编译并且应该可以正常工作。我还没有实际测试并加载到单元中。


也就是说,我希望引导加载程序的 F_CPU 不匹配。对此有三种可能的解决方案。

First; optiboot 加载程序应该有一个具有以下偏差的相应目标:

\arduino-1.5.5\hardware\arduino\avr\bootloaders\optiboot\Makefile

myArduino11MgHz: AVR_FREQ = 11059200L

Second;更改boards.txt上传速度以匹配=115200*(11059200/16000000)的更改。

myArduino11MgHz.upload.speed=79626

这是一个非典型的波特率,avrdude 或串行端口都可以支持它。

Third;不要使用引导加载,通过 ISP 编程器上传。


我同样计划制作一块具有不同 F_CPU 的板,但实际上只制作了具有相同速度的定制板。我很想知道上述方法在您的情况下是否真的有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arduino 频率为 11.0592MHz。修改Timer0、delayMicroseconds() 的相关文章

  • 强制 const 存储返回的值 value

    这就是我想要实现的目标 struct test const test returnconst return test test returnnonconst return test int main test t1 returnnoncon
  • C++ 编译器可以对结构中的元素重新排序吗

    C 编译器 特别是 g 可以对结构体的内部元素重新排序吗 我看到一些奇怪的行为 其中我有一个包含如下内容的结构 Struct SomeStruct long someLong long someLongArray 25 unsigned l
  • 查找周边上的点来表示边界/形状

    我有一个简单的二维网格 其格式为myGrid x y 我正在尝试找到一种方法来找到所选网格周围的周长 这样我就有了所选网格的形状 这是我的意思的一个例子 这里的想法是找到所有相关的 角点 也就是图像周边的红点 放入一个列表中 这样我就可以从
  • 在 IEnumerable 中查找相同的集合

    有一项任务要弄清楚如何更新表 DataTable 连接到一个database没有UPDATE陈述 我想出的例子是从邮箱中读取警报 该表将写入 Alerts 如果邮件正文包含单词 SUCCESS gt Alert 变为绿色 如果 FAIL g
  • 在 std::forward 中它如何接受右值?

    看看斯科特 迈耶的有效的现代 C 第200 201页 建议的简化实施std forward可能是 在其他地方看到了正确的实现 template
  • ctypes.ArgumentError:不知道如何转换参数

    我在C库中定义了一个函数 如下所示 int Test char str1 int id1 char str2 float val float ls 我想在Python中使用它 所以我编写了以下Python代码 str1 a str2 b i
  • C# 从整数反序列化枚举

    是否可以从 C 中的 int 反序列化枚举 例如如果我有以下课程 class Employee public string Name get set public int EmployeeTypeID get set 我可以轻松地从 XML
  • C# 委托实例化与仅传递方法引用 [重复]

    这个问题在这里已经有答案了 我有一个简单的问题 与仅传递函数引用相比 实例化 C 委托有什么优势 我的意思是 Why do Thread t new Thread new ThreadStart SomeObject SomeMethod
  • 带有 Prism 区域适配器的 AvalonDock

    我看到了一些关于 SO 的问题 但似乎没有一个适合我 我希望能够使用伟大的使用 Prism 4 但是 所有示例区域适配器均适用于 Avalondock 1 x 系列 我无法使其工作 有人有关于如何为 AvalonDock 的 LayoutD
  • 可以轻易移动,但不可轻易复制

    是否可以创建类类型 即 普通移动构造 但不是普通复制构造 但仍然可复制构造 普通复制构造 但不是普通移动构造 但仍然可移动构造 可以简单地复制分配 但不能简单地移动分配 但仍然可以移动分配 可以简单地移动分配 但不能简单地复制分配 但仍然可
  • 在 .NET Core 上通过 MEF 将参数传递给插件构造函数?

    我花了几个小时试图弄清楚如何通过 MEF System Composition 将参数传递给插件构造函数 但一切都无济于事 不用说 相关文档很少 查看源代码也没有帮助 这曾经非常容易做到 使用 CompositionHost Compose
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • 在浏览器中测试wcf服务

    我无法在浏览器中调用基本的 wcf web 方法 即使使用
  • 有没有办法对 RichTextBox 的撤消历史进行分组或暂时禁用它?

    我目前正在研究 WPF 中 RichTextBox 内的表格 在 WPF 中 表格没有行和列 只有行 每行都有一定数量的单元格 当用户按下 添加列 按钮时 我的程序会向每一行添加一个新单元格 使用此方法的问题是 在用户添加一列后 如果他们按
  • 等效

    这是否保证始终为真 std numeric limits
  • ASP.NET Core中间件如何进行DI?

    我正在尝试将依赖项注入到我的中间件构造函数中 如下所示 public class CreateCompanyMiddleware private readonly RequestDelegate next private readonly
  • 如何在 OpenCV 中删除 mouseCallback

    在使用 C 的 OpenCV 中 有没有办法删除 mouseHandler int event int x int y int flags void param 通过函数添加到窗口 image window cv setMouseCallb
  • 以编程方式连接和断开 USB,“无需拔出和重新插入”

    我需要以编程方式连接和断开 USB 也就是说 我已经插入了USB设备 我需要使用 C NET 应用程序传输文件 该应用程序将监视特定文件夹并将文件从该文件夹传输到 USB 驱动器 我需要在文件传输后断开 USB 设备的连接 并在需要时连接
  • 将 Web 场迁移到 ASP.NET 运行时版本 4,同时保持会话

    我们已将 Web 应用程序从 net 运行时 2 v 3 5 迁移到 net 运行时 4 v 4 5 我有一个部署问题 我们的 sessionstate 服务器是一个 stateserver 并在单独的服务器上运行框架 2 中的 aspne
  • Arduino 串行输出丢弃字符

    当我尝试为我的 Arduino Uno 编写一些代码时 我遇到了一个奇怪的串行输出 我有这个原始代码 MyClass myclass void setup Serial Begin 9600 Serial println Starting

随机推荐

  • Java - 查找排序数组中最不常见的整数

    我被分配了一个编程问题作为作业 我处于停滞状态 我今天搜索了几个小时试图找到答案 但似乎这里从未有人问过这个问题 我基本上需要找到数组模式的反转 这是我被要求寻找解决方案的问题 LeastFrequent 输出出现频率最低的整数 其出现次数
  • Apple Java 更新 1.6.0_51 后 Swing 应用程序卡住

    我们有一个 Java Swing 客户端应用程序 它作为 Java Web Start 小程序和 install4j 安装程序安装 由于 Apple 发布了最新的 Java 6 升级 我们的应用程序在安装程序和 Web Start 版本上显
  • AJAX调用后如何继续表单提交?

    我想在点击提交按钮时验证 WordPress 帖子上的用户条目 如果存在问题则显示错误消息 如果一切正常则提交表单 我有一个 PHP 函数来执行检查 返回true如果数据在form data没问题 否则会出现一些错误代码 以下 JavaSc
  • 我们如何使用结构体?

    我遇到的主要问题是有太多参数 我只是想摆脱它们 是的 我不理解结构的逻辑 不过 事情已经变得越来越清晰了 EDIT所以 cHao 希望我使用一个特定的案例 所以这是我编写的一个例子 include
  • iOS7 导航栏半透明 = NO

    我有一个背景图像 在所有视图中都有相同的图像 但导航栏半透明默认设置为 是 并且背景不是均匀的 我尝试了各种解决方案 但没有任何改变 我的 AppDelegate h import
  • 创建一个新列表并从现有列表中消除空单元格和带有“”的单元格

    我有以下 Excel 电子表格 A B C D 1 Product A 500 Product A 500 2 Product B 300 Product B 300 3 Product C 400 Product C 400 4 Prod
  • ASP.NET Core Web 应用程序中的语言不会更改

    我遵循全球化与本土化 and 构建简单的多语言 ASP NET Core 网站为我的应用程序添加语言切换的教程 所以 我创建了一个局部视图 using Microsoft AspNetCore Builder using Microsoft
  • 致命错误:调用未定义的方法 mysqli_stmt::get_result() [重复]

    这个问题在这里已经有答案了 我的以下 php MYSQLi 无法正常工作 PHP 版本 5 9 query conn gt prepare SELECT FROM users WHERE token LIMIT 1 query gt bin
  • 具有多个标头的 Ionic 4 原生 http POST

    以下是我从 Ionic 应用程序执行 http post 的方式 import HTTP from ionic native http ngx someAction assetId number userId number var asse
  • Python websockets,订阅多个频道

    我正在尝试同时连接到多个通道 并通过 python websocket 库从推送 API 接收消息 考虑下面的代码 您将如何连接到多个通道 该代码是从此处获得并稍加修改的 https pypi python org pypi websock
  • 使用 Bing Maps Quadkeys 作为 Openlayers 3 Tile 源

    我有许多图块源 它们在旧的 Silverlight 应用程序中使用 Bing Maps 的 Quadkey 系统 我想在新的 Openlayers 3 地图中使用它们 我找到了几个函数示例 这些函数会将这些源转换为 Leaflet js 但
  • 使用扩展修改浏览器 UI?

    是否有 API 可以修改 Chrome 扩展或 WebExtensions 中的常规浏览器 UI 例如 我想修改选项卡栏 以便它可以显示多行选项卡 而无需创建位于地址栏下方的工具栏 或者简单地向导航栏等添加一些样式 我似乎找不到一个 API
  • “for filename in os.listdir”导致错误“FileNotFoundError:[Errno 2]没有这样的文件或目录”

    我尝试列出非工作目录中的目录中的文件 import os for filename in os listdir home pc folder logs user1 path home pc folder logs name of file
  • 当 get 和 is 都存在时,JSTL EL 访问器翻译优先级?

    这是一个由两部分组成的问题 我有一个名为 active 的带有 char 属性的 person 对象 Person 有一个 getActive 方法 它按预期返回一个 char 在我的 JSTL EL 中 我有以下内容
  • 垂直连接制表符分隔的 txt 文件

    input1 input2 output 是制表符分隔的 txt 文件 如果输入1是 a b c 1 2 3 输入2是 e r t 那么我希望输出是 a b c 1 2 3 e r t 我尝试通过学习使用 python 连接文件Python
  • MongoRepository JSON 日期查询 (Spring)

    我正在尝试使用自己的查询来查询 mongo 存储库 Repository public interface LogEntryRepository extends MongoRepository
  • 了解 libx264 输出 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我在 ffmpeg 中使用 libx264 进行编码 最后我得到了以下输出 谁能指导我理解和解释这一点 有任何参考 文档吗 01 01 06 34 43 650 I stderr 6
  • 迭代包含嵌套数组的 pandas 数据框列

    我希望你能帮我解决这个问题 我在下面有这些数据 列名称随便 data file0090 84 55 189 248 100 18 68 115 88 file6565 86 58 189 24 10 118 68 11 8 我需要将第 0
  • Celery 单元测试重试

    我目前正在为我的 celery 任务编写单元测试 并想测试我的任务是否正在重试 注意 ALWAYS EAGER 在测试设置中设置为 True app shared task bind True soft time limit 600 aut
  • Arduino 频率为 11.0592MHz。修改Timer0、delayMicroseconds()

    我在 Arduino 环境中使用 11 0592MHz 的 ATMega328P 我发现delayMicroseconds 函数快了大约27 原因是 wiring c 中的代码假设时钟速度现在为 8MHz 现在我尝试修复它 我发现了不同的帖