问题标签 [atmega16]
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.
embedded - Uno R3 wouldn't enter DFU mode
I recently bought an uno r3 from sintron. The board features an Atmel Mega16u2 serial interface but when I plug it to the usb port of my laptop, it's not listed as an usb device in the device manager. The L-LED is blinking with ~1Hz (maybe the initial test programm).
So I did some research and came up with this tutorial. Reseting the Uno R3
The tutorial first suggest to put the uno r3 to dfu mode via connecting two given ICSP pins (thus resetting it). Then it should be listed as an unknown usb device in the device manager, but there is nothing there. How can I set it into DFU mode?
I don't have a second arduino at my disposal but a stm32 cortex m4 board. My last chance would be to flash the arduino via ISP. Any suggestions on that?
In advance I tried to install the arduino drivers manually but it gives me a code 10 exception. No success with any of the suggested solutions from the internet.
I would be glad if somebody could help.
atmelstudio - Atmel Studio 由于代码优化而面临一些问题
我正在使用 atmel studio 7。我有一个关键检测逻辑,当优化关闭(-O0)时有效,但在打开时无效。我正在使用 ISR 检测密钥,有四个键以矩阵方式连接到 PORTB 0..3,如下图所示
PB2 和 PB3 始终设置为输入上拉。我在 Input-Tristate 和 Output-Low 之间切换 PB0 和 PB1(仅使用 DDRB0 和 DDRB1 位)。以下是关键检测逻辑(在 ISR 内部):
选择了“优化大小(-Os)”。当我按任意键时删除“tmp”的第 5 行值会发生变化。否则 tmp 总是读为零。我需要第 5 行用于去抖动逻辑。
那么,我在这里缺少什么?
timer - 在经过一段时间后计算 avr 中的脉冲数并显示它
我想使用 16 位定时器计算在 atmega32 中延迟 'n' 秒之间发生的脉冲数并存储和显示它。`
上面的代码对脉冲计数是否正确?
embedded - 为什么在 atmega32 中没有提供正确的输出和具有相同波特率的正常模式时将 uart 设置为双速模式?
为了获得正确的输出,我必须将 U2X 位设置为 1,当我将其设置为零并更改 UBRR 寄存器的值时,输出没有意义。我检查了我是否使用了数据表中的正确值,但它在 U2X=0 时没有给出正确的输出。
我的 .h 文件
我的 .c 文件
main.c 文件
这是一个简单的模拟,我在我的 AVR 中添加了 2 个虚拟终端......当我将 U2X 设置为 0 并从数据表中写入值时,当我向其中一个写入“a”或任何字符时,我得到了另一个错误的租船人。
我直接从数据表中获取了 UBBR 的值,您可以尝试不使用公式F_CPU/8/bd-1
并将它们直接从表中放入。
你能告诉我U2X对相同波特率的影响吗????或何时将 U2X 设置为 1 或 0??????
microcontroller - 仅使用一个计数器产生 20% 占空比的输出
如果我有没有 PWM 模块的微型计算机,如何在引脚 1 上生成占空比 (20%) 的输出,并使用一个计数器在引脚 2 上以占空比 (80) 输出,并且中断不轮询。
multithreading - Atmega multithreading can't manipulate stack pointer
im trying to do a multithreading library for atmega controller and firstly i try to manipulate the stack pointer and after the return of function "go_to_func" the program goes in function "func". The function "go_to_func" is written in asm1.s file and this is the function where the stack pointer is modify for the program to return at the start address of "func" but my program don't geos on "func" after the return of "go_to_func"(When the program arrive on "func" the PORTD bit 3 is turned on). Can anyone tell my what i have to write on "go_to_func" to make my program works fine. Here is the hole information of my code.
main.c
asm1.h
asm1.s
avr - 在 LCD 上显示计时器,AVR
如何在 c 中为 avr 编写一个计时器,在 LCD 的每一行中显示下面的图片?(https://i.stack.imgur.com/SK1mE.jpg)
serial-port - 是否可以在不检查 AVR ATMega32 中的 UDRE 标志的情况下将 UDR 写入 USART_RXC 中断处理程序中?
我一直试图理解这段代码,它应该使用中断回显在 AVR 的 USART 接口上接收到的每个字节。
我无法理解这部分
为什么这里不检查 UDRE 标志以查看是否确实可以写入新数据,而不会覆盖以前的数据?由于我们在相应的轮询方法中做同样的事情:
不应该在UDR = ReceivedByte;
里面的行之前检查UDRE标志ISR
吗?任何见解将不胜感激。