- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将 picdem 18F4550 与微芯片 v8.63 和 C18 编译器一起使用。
我将启用 PortA 设置为输入,我将在端口 RA0 上连接一个 LDR。如下(我认为)
TRISAbits.TRISA0 = 1; <= set RA0 as input
现在我想要 LDR 的值(电压/值,如果 LED 亮着),我可以说:
int colorLed = PortAbits.RA0;
现在在 int 类型的变量中有我的 Led 的值/电压。
如果我错了,请纠正我。
最佳答案
听起来您想测量模拟电压,在这种情况下,您需要将引脚用作 AN0
, 而不是 RA0
.您应该阅读 datasheet 的第 21 节, 但总而言之,您需要使用寄存器配置 A-D 转换器 ADCON0
, ADCON1
和 ADCON2
,并阅读 ADRESH:ADRESL
上的结果.
请注意,您可以使用数字输入读取 LDR,但您将无法对其进行校准。使用模拟输入稍微复杂一些,但更加灵活。
关于c - 启用端口 RA0 作为输入并从 led 检索值 LDR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464030/
我最近不得不调试一个 MachO 二进制文件,我遇到了以下指令:- ldr.w r4, [r1, r0, lsl #2] 我明白 ldr r4, [r1, r0, lsl #2]将 r0 向左移动两次
在ARM汇编中做ldr r0,[r0]合法吗? 最佳答案 如有疑问,请始终参阅 ARM 体系结构引用手册,该手册可在 arm.com 上找到。它说: The destination register.
我知道如何在 ARM 中使用 LDR 指令加载立即数。 例如: LDR R0,=0x0804c088该指令将值 (0x0804c088) 加载到寄存器 r0。当我尝试使用 gdb 访问存储在 x/x
我正在使用带有 microchip v8.63 和 c 编译器的 picdem 18F4550。我使用的组件是:- 3 个 LED(红、绿、蓝);- LDR(327700 NORPS-12 法内尔)。
我正在调试一些 C++ 代码(ARM 平台上的 WinCE 6),我发现有些行为很奇怪: 4277220C mov r3, #0x93, 30 42772210
我正在尝试使用 devkitpro 创建匹配的 GBA 反汇编,但我遇到了 THUMB 指令 LDR R1, =0x3FF 的问题。 我想让它把 0x3FF 放在文字池中并生成一个 PC 相对地址,这
这段代码在 gcc 上编译得很好,但是当使用 llvm (llvm-gcc) 时,它说 "constant expression expected"在线与ldr 问题在于语法:如何指定数组所在的位置?
我正在尝试调试我在我的应用程序中遇到的崩溃。堆栈跟踪指向具有以下格式的 LDR 指令(感谢反汇编程序): LDR R3, [R0,#4] 我的问题是关于源组件。第二个参数中的#4 是什么意思?我假设它
在谷歌上搜索了一段时间,但我找不到任何与此相关的文档。我一直在尝试学习 ARM,并且一直在查看我编写的一个简单的calculator.c 程序的编译后的 ARM 汇编代码,以查看我是否能理解发生了什么
我正在阅读 Cortex M4 TRM 以了解指令执行周期。但是,那里有一些令人困惑的描述 在 Table of Processor Instuctions , STR需要 2 个周期 . 稍后在 L
我有一个简单的 C 程序: int main(){ unsigned int counter = 0; ++counter; ++counter; ++count
假设我已经有一个名为 int* binToArrayInOrder(TreeRoot* tr) 的函数,它创建一个排序的树值数组(因为它是有序的)。 有没有办法从给定的有序数组中构造树,没有其他信息,
浏览 Windows Hotfixes and Updates 上的信息时网站,我了解到 Windows 维护两个不同的分支来提供更新和修补程序,并且根据描述, GDR -> 所有 Windows 更
所以我知道 ldr/str on arm 的问题数不胜数。也许这是另一个转折(不太可能),或者我只是错过了一些东西(更有可能。) 所以这是裸机,我想在内存中加载/存储一些变量。因为我坚持我想给它一个名
我在尝试将最新的 ffmpeg 迁移到 iOS 平台时遇到了一些编译错误。 这些错误来自 GNU 汇编器(gas),它似乎无法处理最新 ffmpeg 中的一些 asm 指令。 例如: libavcod
我在任何地方都找不到这个问题的直接答案。 ARM的寄存器是32位的,我知道LDRB将一个字节大小的值加载到寄存器中,并将剩余的3个字节清零,即使你给它提供一个大于一个字节的值,它也只会取第一个字节的值
我将 picdem 18F4550 与微芯片 v8.63 和 C18 编译器一起使用。 我将启用 PortA 设置为输入,我将在端口 RA0 上连接一个 LDR。如下(我认为) TRISAbits.T
我今天第一次遇到 LDTR ARMv8 指令。 我在 ARMv8 DB 上阅读了它的描述手册部分C3.2.5“非特权加载/存储”,据我了解,它基本上允许EL1在EL0限制下进行内存访问。 此功能的应用
我正在浏览本教程:http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/ok01.html 第一条组装线是: ldr r0,=0x2020
我今天第一次遇到 LDTR ARMv8 指令。 我在 ARMv8 DB 上阅读了它的描述手册部分C3.2.5“非特权加载/存储”,据我了解,它基本上允许EL1在EL0限制下进行内存访问。 此功能的应用
我是一名优秀的程序员,十分优秀!