问题标签 [winavr]
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 - WinAvr 编程所需的帮助
我正在尝试运行 win avr 的源代码。当我尝试使用 avrdude 发送 makefile 后,它给了我错误。
请任何人都可以帮助我
c++ - winavr中的帮助需要
我正在尝试通过串行端口将 ---.hex 文件发送到我的 siemens C55,但是在执行此操作时出现错误
“make.exe”程序 avrdude -p atmega8 -P com2 -c stk200 -U flash:w:gsm_remote.hex avrdude: 端口名称“com2”既不是 lpt1/2/3 也不是有效数字 avrdude: 无法打开设备“ com2"
avrdude: 未能打开并口“com2”
make.exe: *** [程序] 错误 1
请指导我该怎么做源代码也可以在 http://www.4shared.com/file/88235332/4b2370f8/080324-11.html获得
c - 8位枚举,C语言
我必须存储指令,我将通过串行接收的命令。命令的长度为 8 位。
我需要保持命令名称及其值之间的透明度。以避免必须将串行接收的 8 位数字转换为任何类型。
我想在我的代码中使用枚举来处理它们。在这个平台上,只有一个枚举对应一个 16 位整数。
该平台是 AVR ATmega169V 微控制器,在Butterfly 演示板上。它是一个 8 位系统,对 16 位操作的支持有限。它不是一个快速的系统,并且有大约 1KB 的 RAM。它没有文件 I/O 或操作系统之类的奢侈品。
那么关于我应该使用什么类型来存储 8 位命令有什么建议吗?
必须有比#defines 的大量标题更好的东西。
notepad++ - 如何使用 WinAvr 编译器在 Notepad++ 中编译和运行 c/c++ 程序
我想用记事本++代替程序员的记事本。如何将 WinAvr 编译器与 notepad++ 一起使用?
eclipse - 在 Eclipse 的项目资源管理器中对文件进行分组
我是 Eclipse 的新手,我打算将它用于使用 WinAVR 和 gcc 进行 AVR 开发。我正在寻找的功能是项目中不同文件的分组,例如所有标题一起,所有源文件一起以及从构建中排除的所有文件等等。
我尝试了 Atmel 的 AVR Studio,它具有此分组功能,但缺少 Eclipse 支持的其他几个功能。任何帮助配置 Eclipse 项目资源管理器以这种方式显示项目文件将不胜感激,并有助于我决定要使用的 IDE。
注意:我知道我可以为每个组手动添加不同的文件夹并移动文件,但这会移动物理文件,并破坏代码和其他编译器/IDE 中的相对路径。我正在寻找文件的逻辑分组。
c - 在 C 中分配 1 毫秒或 2 毫秒的延迟?
我正在使用代码来配置一个简单的机器人。我正在使用WinAVR,其中使用的代码类似于 C,但没有stdio.h
库等,因此应手动输入简单内容的代码(例如,将十进制数转换为十六进制数是涉及ASCII字符的多步骤过程操纵)。
使用的代码示例是(只是为了向您展示我在说什么:))
在某些情况下,我必须使用 WinAVR 并且不能使用外部库(例如stdio.h
)。无论如何,我想通过伺服电机施加脉冲宽度为 1 ms 或 2 ms 的信号。我知道要设置什么端口等等;我需要做的就是在清除它之前应用延迟以保持该端口设置。
现在我知道如何设置延迟,我们应该创建空的 for 循环,例如:
对于 1 ms 循环,我应该为“值”输入什么值?
c - 在 8 位 PIN 中设置一位而不更改其他位
以下代码使用 winAVR。
我在这里得到了一个 8 位 PIN,我需要将它与 00000010 或 0x02 进行 OR 以设置第 7 位。
现在我要做的是:
- 设置端口 B 位 7
- 等待 1ms
- 清除端口 B 位 7
- 等待 19 毫秒
但是,我不应该更改这些步骤中的其他位。
所以我必须要 :
- 读取端口 B
- 需要设置位
- 将修改后的值写回端口
- 清除位
- 写回端口 B
所以我的测试代码是:
但我认为在这个过程中其他位将被改变,我的问题是,我应该如何在不改变其他位的情况下操作 8 位端口的一位?
非常感谢 !!
c - 如何在 WINAVR 中合并两个接收到的输入并将其读取为一个整数?
我希望用户使用 c=ReceiveByte() 命令输入 2 位数字。例如,我希望用户执行以下操作:
我的草稿代码是:
这是正确的吗 ?还是我错误地存储了 2 位数字?
非常感谢你的帮助 !
c - C中带有#define的指针
功能:
函数调用:
bit_field 定义为这样的结构:
我不知道 &port 是在哪里定义的。
有人可以解释一下这个函数是如何读取的以及它是如何工作的吗?我对指针不是很好,尤其是这个例子很容易混淆前面和结尾的“*”以及端口的“&”。
谢谢
c - 尝试将变量定义到特定的内存位置
嘿,我正在使用 WinAVR 并用 C 编写 ATMEGA32。
基本上,我想通过以下方式将我的 C 程序链接到 asm:
asm(" ") 命令。
我试图将 C 中的内存位置定义为确切的内存位置,以便我可以在 asm 命令行中访问它们。
我有 5 个变量:
无符号字符 var1、var2、var3、var4、var5;
我知道我可以使用指向内存位置的指针,但我不确定如何做到这一点。
任何帮助,将不胜感激。
谢谢,
奥利弗。