问题标签 [microchip]

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.

0 投票
1 回答
4812 浏览

pic - PIC 16F88 ADC 示例?

所以我有一个 PIC 16F88,我设法用它做了几件事,但现在我想知道如何进行模数转换?

我在互联网上尝试了很多例子,但没有成功:(如果有人能说明如何使用 ADCON0/1 和类似的东西,我将不胜感激。

非常感谢。

编辑:这是我的代码:

0 投票
2 回答
373 浏览

c - 无法正确调用子程序 单片机 PIC18F

我有一个对微控制器 PIC18F 进行编程的项目,我必须将一个开关电路连接到微控制器板上,这个开关电路有一个电子锁和一个要连接的蜂鸣器。

锁最初是通电的。假设当我发送'1'时,蜂鸣器将以方波供电,锁将断电。当它收到“0”时,蜂鸣器将关闭,不再为锁供电。当它收到“2”时,锁应该通电,但如果蜂鸣器之前没有通电,则不应再次通电。

我的困惑在最后一部分。当我通过超级终端发送“2”并在它之前发送“0”时,蜂鸣器再次通电。

这是代码,

谁能帮我解决这个问题?

0 投票
2 回答
177 浏览

c - 这个#define 是否等同于C 中的这个变量定义?

考虑一下#define

和这个变量定义:

msd_buffer作为变量和作为宏的两个定义是等价的吗?

0 投票
1 回答
4382 浏览

loading - Microchip:如何在 MPLAB X 中加载多个 HEX 文件

我使用 MPLAB X(有时是 MPLAB 8)并完成了一些项目。我有这些十六进制文件:

  • 引导加载程序.hex
  • 魔术标志.hex

Bootloader 从地址 0x0 加载到 0x7FF。魔术标志位于地址 0x40 中(因此在引导加载程序区域中)。

现在我需要在 MPLAB X 中设置项目以加载所有内容(bootloader+magicFlag+app)。可以加载引导加载程序,然后是magicFlag,然后设置保留闪存并在应用程序上工作并仅加载应用程序区域(从0x800到0xFFFF),但这对我来说不太舒服。例如,当我使用 iSYSTEM 的 WinIDEA IDE 与飞思卡尔合作时,我能够设置许多要加载的 SX 文件,非常简单、快速并且可以正常工作。但是当我用 MPLAB XI 尝试它时,总是会出错:

(944) appl.hex 和 bootloader.hex 之间地址 0h 的数据冲突。

我尝试了什么:

  • 用于在项目属性中加载的设置文件(加载部分)
  • 在项目属性中设置内存范围(ICD 3 部分)

但我认为加载 ICD 3 没有问题。因为当 MPLAB X 创建统一的 hex 文件时,错误及时出现。

想象一下,这是我的链接器的一部分:

我提醒一下,这不仅是我的项目,而且只是带有 magicFlag 的引导加载程序,而且我只有来自 appl 的源代码。当然,最好在一个项目中拥有带有 appl 的 bootloader 源代码。

所以,MPLAB X 害死我了,请帮助我 :-)

0 投票
1 回答
1387 浏览

assembly - 将 MOVF 与单个操作数一起使用是否有效?如果有,有什么好处?

我遇到了几个在没有第二个操作数的情况下使用 MOVF 的示例,例如:

(样本取自 PICKIT2 LPC 板用户指南)

MPLAB SIM 中的一个快速实验表明第二个“目标”操作数是可选的,默认为工作寄存器。IE

这是那些编码“功能”之一,虽然严格来说是可能的,但只是另一种降低代码可读性的方法吗?或者还有更多的东西吗?

0 投票
0 回答
100 浏览

microchip - 将 PmodOLED 从 JB 移动到 JA 头文件 - 32MX4 (MPLAB X IDE)

我是微控制器编程的新手,我的第一个任务是使用 PmodWiFi 插件接受 WiFi 连接。我读到 WiFi 芯片的默认引脚/端口是 32MX4 上的 JB 接头。问题是我目前在 JB 标头中安装了 PmodOLED 插件,所以我想将它移到 JA 标头中。在PmodOLED.h(我已经导入到我的库中)中,我更改了以下几行以对应于 JA 标头而不是 JB 标头中的端口:

但是,当我运行将 PModOLED 附件插入 JA 标头的代码时,它没有响应并且屏幕为空白。如果您能告诉我如何修改我的代码以便可以在 JA 标头中安装 PmodOLED 插件,我将不胜感激。

提前感谢您的帮助,古维

0 投票
1 回答
899 浏览

microcontroller - MRF24WB0MA WiFi 带 32MX4 初学者教程

我是 Microchip Programming 的初学者,我想设计一个可以连接到 WiFi 的机器人。我有 Cerebot 32MX4 微控制器 (PIC32MX460F512L) 和 PmodWiFi 卡 (MRF24WB0MA)。我完全不知道从哪里开始。我曾尝试从网上下载各种代码,包括 TCP/IP 堆栈和其他示例代码,但编译时出错或对机器人没有影响。我之所以选择这两种产品,是因为它们比较受欢迎,而且我希望这是一个相当简单的过程。您能否将分步教程的链接发送给我,该教程向我展示了如何设置它或 32MX4 的一些工作示例代码。目前我有一个通过 JB 接头连接到 WiFi 卡的功能性 32MX4 板。对不起,如果我听起来太愚蠢,

提前感谢您的帮助,古维

0 投票
2 回答
1636 浏览

android - 多个处理程序可重用代码

有人可以建议在一个活动中使用两个不同的处理程序的替代方法,或者让我知道这种方法可以吗?

详细信息:我正在开发一些用于 Microchips ADK Android 入门套件的代码。一切都运行顺利,但是,我遇到了一个问题,即代码中运行了两个不同的处理程序,它可以工作,但我注意到不建议这样做。我用来创建时间延迟的第一个处理程序,并使用 post 命令启动结果。第二个处理程序用于 Microchip 提供的示例代码,用于与 USB 附件框架文件进行通信。我更喜欢只修改 Microchip 代码而不是重写它。类似代码:

0 投票
2 回答
691 浏览

c - 如何在 C 中为 PIC24 编写独立于硬件的函数

我正在编写一些包含各种功能的代码,例如 PID 控制器、信号发生器等。

我的硬件提供各种输入和输出。刚才我有一个 SWITCH 语句来确定我的计算的来源和目的地。

例如对于 PID 控制器,每 100 毫秒有一个开关命令决定将哪个输入传递给 pid_calculate 函数,然后是另一个开关来决定如何处理返回值。因为我有 32 个模拟输入,以及可能的输入,can、lin 和 serial,所以 switch 语句是巨大的!

我想参考或一个物理示例,说明如何将某些东西编码为独立于硬件的(在图片的范围内)功能。我确信答案在于指针,但我是 C 的新手,并不确定从哪里开始指针。

我设想函数原型类似于 int pid_init(*source,*destination) 其中源是指向输入的指针,例如 ADC 缓冲区,而目标可以是例如 pwm 占空比寄存器。刚才我必须切换每个可能的条件,然后将数据加载到寄存器中。

所以为了澄清,我将如何实现一个允许它独立输入和输出的函数,以及我将如何取消引用指针(假设指针是正确的方法)

我希望这是有道理的,在此先感谢。

0 投票
1 回答
520 浏览

javascript - 在 TCP/IP 堆栈 Microchip 中设置日期和时间

将日期和时间设置为实时时钟 (RTCC) 的最佳方法是什么?您可以根据 IP 地址的位置提取当前时间,还是必须手动设置。如果您手动设置它,让您的用户设置它的最佳方法是什么?我目前有一个使用名称的简单表单,有更好的方法吗?