问题标签 [atmel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - ARM AT91SAM - 带有回调问题的简单 USB 读取
我有一个关于带有回调的 USB 读取的非常简单的问题。
我想设置对缓冲区的读取,然后等到传输完成后再使用缓冲区中的数据。设置了芯片的框架,以便您通过调用 USBD_Read 启动 USB 传输,如果传输正确启动,它将返回成功。然后在传输完成时调用回调。这就是我目前的做法:
//USB读取回调
//读取usb数据
// 等待
//然后使用数据
我遇到的问题是在 while 循环中似乎从未调用过中断。如果我注释掉 while 循环,则调用中断。基本上我的问题是如何使用回调中断 while 循环?
我怎样才能解决这个问题?还是有更好的方法来实现相同的目标?
谢谢
firmware - 用于在 Atmel UC3 平台上进行固件开发的系统设计文档模板
是否有任何机构拥有或知道任何网站,我可以在其中获得用于 Atmel UC3 平台的固件开发项目的系统设计文档模板?
debugging - 需要有关 AT32UC3A0512 以太网引导加载程序的信息
我正计划开发以太网引导加载程序。所以想修改现有的DFU Bootloader程序。我想删除微控制器闪存上已经存在的引导加载程序并放置我自己的引导加载程序。
目前我的MCU是AT32UC3A0512。我正在使用 AVR Dragon 和 AVR One 调试器/编程器。是否可以使用 AVR Dragon 或 AVR One 重新编程引导加载程序区域?或者我必须有 MKII 调试器?
gcc - AT90USB162 (Minimus AVR) 上的 CDC 演示 COM 端口代码
我打算使用我的 AT90USB162(集成为 Minumus AVR USB 板)作为带有 COMPORT 的通信设备类。在Minimus AVR 主页中,它提供了在AVR-USB-162-CDC.zip中为我的芯片构建 COMPORT hex 的代码(此项目使用 WinAVR 4,但您也可以使用 WinAVR 5 构建它,请参阅Build AVR Studio AVR Studio 5 中的 4 个项目)。在构建代码时,我将 hex 文件加载到芯片中并进行重置。问题是我的 Windows 7-64 无法识别新 COMPORT 的添加,因此我无法从设备管理器访问它(因此也无法从超级终端访问),实际上当我将内置芯片插入 USB 端口时,它什么也没发生。
所以,我需要让我的 Windows 将我的芯片识别为我的 AT90USB162 的 USB COMPORT。我该怎么做?我没做什么?
我还尝试了来自AVR-CDC 站点的 .hex 文件和驱动程序,但实际上我的芯片的驱动程序不可用(我仍然尝试使用那里提供的其他驱动程序)。但没有回应。
更新
我在AVR-CDC Windows Driver Section中发现了一条注释:
(*) Vista/7 x64 不接受未经授权的内核模式驱动程序。您必须在系统启动期间关闭“驱动程序 > 签名强制”。有一个工具可以签署驱动程序。Driver Signature Enforcement Overrider 请参阅 /vista64/Readme64.txt 中的说明。
因此,当我下载驱动程序签名强制覆盖程序时,我按照 /vista64/Readme64.txt 上的说明进行操作。简而言之,它应该使 Windows 能够接收 AVR-CDC 驱动程序附带的 CDC 驱动程序 lowcdc.sys 和 lowcdc.inf。
但仍然没有得到回应。
更新
我测试了在 Windows XP SP3 机器上加载微芯片。所以这不是 Windows 7/64 的驱动程序签名强制问题。
更新
我发现了这个:Engbedded AVR Fuse Calculator,但不知道如何使用它。
更新
我从用户 clawson 的 avrfreaks 论坛得到以下答案:
“尝试下载 usbdeview.exe 以查看枚举期间发生的情况。可能是显示的 VID/PID 需要一个 .inf 文件来选择正确的驱动程序。
您可以做的一件事是下载 LUFA 并在其中构建一个 CDC 示例——它几乎可以正常工作。”
但仍然没有工作。我下载了usbdeview并尝试观看芯片。但是当我将它插入 USB 端口时,如果 .hex 烧录的文件是 CDC,它仍然没有任何反应。
我还下载了 LUFA 并尝试构建 CDC 示例。也没有成功。在 makefile 中,我设置了 MCU = at90usb162,F_CPU = 16000000,FLASH_SIZE_KB = 16,BOOT_SECTION_SIZE_KB = 4,其他参数我保持不变。我还将 AVR Studio 项目定义更改为设置为 at90usb162。生成的十六进制文件没有错误。但是当我尝试烧录芯片时,Flip 应用程序返回错误消息“Address us out of range.”。最后我意识到新的 .hex 文件与前一个文件相同(无需更改 makefile 和 AVR Studio 项目文件)。
那么,也许有人有更多的想法?
更新
可能是驱动的问题?(而不是.hex的问题?)任何解决方案?
更新
我在Atmel Application Notes 网站上找到了该芯片的 App Note AVR296: AVRUSBRF01 USB RF Dongle user's guide,其中描述了将此芯片用作 CDC 的方法,并提供.a90
用于烧录芯片的.inf
文件和用作 Windows 驱动程序的文件。我已经使用提供的文件烧录了我的芯片,AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90
并在我的 Windows 上安装了at90usbxxx_cdc.inf
驱动程序。并且Windows成功识别了COMPORT,所以问题不在芯片上,可能在CDC演示代码本身上。
那么,有人可以确定代码中的错误/错误在哪里吗?
arduino - LUFA 编码 AT90USB162 的示例
我为支持 USB 的AVR 微控制器LUFA (2011-10-09)提供了一个开源 USB 库,并且我正在尝试将CDC(引导加载程序)示例编码到我的AT90USB162芯片中。示例代码位于文件夹中/Bootloads/CDC
,为构建AT90USB1287的 CDC 做好了准备。所以我需要更改 makefile 参数以设置正确的微芯片。
在生成文件中,我更改了以下内容:
- MCU = at90usb162
- F_CPU = 16000000
- FLASH_SIZE_KB = 16
- BOOT_SECTION_SIZE_KB = 4
并构建了代码。这发生时没有错误,但是当我尝试使用 .hex 文件刻录芯片时,它返回消息:
地址超出范围
为什么会发生这种情况?
更新
在makefile
中,BOOT_START
配置为:
也许错误会出现在 BOOT_START 记帐中?我应该配置更多东西吗?
arm - 使用 mmap 读取 ARM 9g20 GPIO 不起作用
我正在尝试访问 Atmel 的 Arm9 9g20 上的 GPIO 引脚。我下面的代码在
gpio = mmap(0, getpagesize(), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0xFFFFF400);处不断失败 // GPIOA 的开始
有人可以帮助我编写代码并提供一些 I/O 示例代码来帮助我度过难关吗?谢谢。
avr - 序列号是什么?
我正在尝试将 JTAG ICE Mk II 仿真器从 ATMEL 连接到我的 USB 驱动器。并在 32 位 ATMEL STK 1000 板上进行一些开发。
我正在使用 AVR32 Studio,但我似乎无法完全配置它。虽然 JTAG 被 Windows 识别,但我不知道如何在 AVR32 的连接选项卡下配置“序列号”。
请帮助...我也没有找到太多关于此的文档。
arduino - 使用 AVR Studio 中的自动完成功能使用 avr-gcc 对 C 进行编码
如何启用或禁用 IDE AVR-Studio 5或AVR-Studio 4的自动完成功能?我是否必须编辑一些安装文件才能做到这一点?
在视频AVR Studio 5: How to use the Editor中,该男子在 AVR Studio 5 上使用了一个假定的自动完成功能(无需输入 ctrl+enter)。但我在 google 和Atmel网站上寻找它,但找不到。
c++ - 用于 Atmel 微芯片 CDC 的标准 COM 端口命令
我正在尝试使用AT90USB162 Atmel 芯片作为通信设备类 (CDC) 来将一些外部传感器与一些 Windows 应用程序通信。
在该芯片的 Atmel 应用笔记站点中,我找到了应用笔记AVR296:AVRUSBRF01 USB RF 加密狗用户指南,其中描述了将此芯片用作 CDC 的方法(用于RF目的,但这不是这里的问题)。此应用笔记附带压缩文件AVR296.zip,其中包含.a90
用于烧录芯片的.inf
文件和用作 Windows 驱动程序的文件。
所以我用提供的AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90
文件烧掉了我的芯片,并在我的 Windows 上安装了at90usbxxx_cdc.inf
驱动程序。最后Windows成功识别了COM端口,现在我正在尝试通过CDC机制与芯片进行通信。
那么,是否有一个标准的命令列表可以与作为 CDC 的 Atmel 的微芯片一起使用?
我想做的是在 C++ 中,在 Windows 中,用于访问通过 USB 连接的微芯片以读取特定引脚状态的常驻应用程序,例如:
arduino - Arduino 支持哪些 CPU?
是否有一张表格总结了 Arduino 支持的 CPU 的差异?可以与 Arduino 一起使用的最低功耗 Atmel 处理器是什么?