问题标签 [pic32]
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 - 如何包含自定义 C 库
我正在尝试实现一个我发现在线的自定义库。这是链接: http ://rinkydinkelectronics.com/library.php?id=80
我想使用一些功能来帮助我显示带有用于 UNO32 板的 chipKIT 基本 I/O 屏蔽的游戏蛇。
我把文件
- OLED_I2C.cpp
- OLED_I2C.h
- 以及 OLED_I2C/hardware/PIC32 中的两个文件(因为 PIC32 是我拥有的硬件)
进入我主要所在的同一指令。(我的主要文件在一个名为 project.c 的文件中)
然后,我通过尝试使用它来初始化显示来测试该库是否工作,正如我在下载附带的示例中所看到的那样。像这样:
(我删除了程序的其余部分,只保留了相关部分)
但我得到了错误:
为什么即使我将它放在与我的主文件相同的目录中,它也找不到该文件?
谁能帮助我理解我做错了什么,或者我严重误解了什么?
PS。很抱歉,我无法在标签中包含库,但仅库不是一个选项,而且我根本不知道库的相关知识来确定这是什么类型。
mplab - 我的第一个 PIC32MX ISR 没有触发,代码挂起
我刚刚开始使用 PIC32MX340F12 和 MPLABX。我的第一次尝试是编写定时器中断,所以我使用了数据表、编译器手册和示例,并想出了以下内容。但它不起作用......中断永远不会触发,事实上,如果我同时保持定时器中断启用(T1IE = 1)和通用中断启用(“ei”),它会运行几秒钟然后挂起(在调试模式下说“目标停止”)。如果我删除其中任何一个,它只会无限期地运行,但仍然没有定时器中断。所以我的 ISR 语法中的某个地方似乎有一个非常糟糕的问题。它会跳出任何人吗?
就像我说的那样,我才刚刚开始,所以我确信这是一个非常愚蠢的疏忽。正如您可能注意到的那样,我喜欢尽可能直接地使用寄存器和编译器指令(而不是制造商提供的函数),我觉得我以这种方式学习得最多。
谢谢!
c - 具有 SPI 模式的 Microchip 入门套件
我想使用微控制器通过 SPI 进行数据通信。因此,我首先选择了具有 PIC32MX470F512L 的 Microchip USB Starter Kit III 模块。我尝试了几种方法对其 SPI 进行编码,但在示波器上只能看到时钟信号 SCK。
然后,我使用具有 PIC32MX360F512L 的 Microchip Starter Kit I 尝试了相同的代码(只是调整了几行代码到新的 PIC)。一切运行完美。所以,我不明白为什么 USB Starter Kit III 不能用于 SPI 通信?
我给你用于测试 SPI SDO & /SS 的代码。
谢谢
mips - MIPS 和 PIC32 LED 闪烁延迟
这段代码应该打开一个 LED,向左移动,打开另一个,向左移动,到达条带的最左端,向右重复相同的过程,依此类推。
我相信我的部分代码正确地做到了这一点,但我遇到了延迟问题。最终,完整的延迟将需要依赖于开关输入,但我目前只是想让它以一致的设定延迟工作。
当我运行程序时,硬件上什么也没有发生。
memory-management - 同一个 PIC32MZ 中有多个引导加载程序?
标题似乎有点奇怪,我也不知道我应该在那里写什么,但希望我能让你明白我到底想做什么!- 我将拥有主引导加载程序和辅助引导加载程序,它们都将驻留在不同的内存区域(可能是引导闪存或程序闪存)。- 一个引导加载程序将一次处于活动状态,而另一个将处于非活动状态。- 让我们考虑一下,主引导加载程序处于活动状态,现在我将下载我的应用程序固件。我还在从应用程序固件中读取活动的引导加载程序版本,以便检查是否需要更新引导加载程序。- 如果我需要更新引导加载程序,那么不活动的引导加载程序将被激活,它将用更新的引导加载程序替换以前活动的引导加载程序。辅助引导加载程序将切换回非活动模式。因此,辅助引导加载程序仅在必须更新主引导加载程序时才变为活动状态。- 在整个过程中,我想为 Primary Bootloader 版本、Secondary Bootloader 版本和一些具有固定内存位置的自定义配置数据保留一些内存区域,并且可以从 Primary、Secondary 以及应用程序固件访问。
c - RN42 Bluetooth Module - Entering command mode from C code
I am using a PIC32MX795F12 microcontroller together with a RN42 bluetooth to UART module.
I can send text to the UART with no problem at 115200 baud. Using Putty I can also enter the command $$$ to enter the command mode and get the CMD response. Unfortunately I've not been able to enter the command mode using the C code. My command to do this is as follows:
UART3WriteString("$$$");
where the function is defined as:
When I do this, the RN42 does not go into the command mode. It just outputs $$$ without the CMD response.
Any ideas?
Thanks!
bluetooth - RN42 蓝牙模块奇怪的 UART 通信行为
我正在使用 Microchip 的 PIC32MX795F512H 设备和 RN42 蓝牙模块。
我注意到一个奇怪的行为。从这个 C 代码片段:
然后我收到这个输出:
这里奇怪的是所有最后 4 个打印实际上都是在开始时输出的。那么实际上首先发生了什么?是用 GF 命令进入命令模式吗?还是 4 个“Test xxxx”UART3WriteString 命令?
谢谢
pic32 - 将 pic32mx795f512l 与 DS3234 连接
我是 pic32 控制器的新手,我想使用 SPI 将 pic32mx795f512l 与 DS3234 连接起来。谁能指导我,具体怎么做?我已经浏览了两者的数据表。
c - PIC32MZ 上的 Microchip Harmony 时序问题
我正在使用 MPLABX + Harmony 框架为 PIC32MZ1024EFK064 编写代码。
我的目标是每微秒触发一次 ISR。为了测试这一点,我在 ISR 1000000 次循环后切换了一个 LED:
Timer2 以 80MHz 运行,预分频器为 1,定时器周期为 80。
在我第一次尝试时,LED 每 4 秒切换一次(ISR = 每 4us)。
我发现通过将 PBCLK7 的Postscaler 从 2 更改为 1可以达到 2 秒。(现在 CPU 内核运行在 160MHz 而不是 80MHz)。
但即使我将计时器周期更改为 1,我的 LED 也只会每 2 秒切换一次。
知道如何在这里进一步加快速度吗?
更新:
子程序blink()
太慢了。通过直接操作寄存器,它工作在1us
embedded - 无法使用 PICKIT3 编程器启动带有 PIC32 的chipKit BasicIOShield
我有来自 Microchip 的 chipKit uC32 (PIC32MX340F512H)、chipkit BasicIOShield 和 PICkit3 编程器。
我正在使用 MPLABX IDE。
由于我对此很陌生,所以我不知道从哪里开始,我搜索并查看了网络,只找到了使用 MPIDE 的教程,我不允许在我的项目中使用。我已经阅读了参考手册和数据表并制作了测试项目,但是 uC32 板以任何方式拒绝识别 BasicIOShield,我无法将这两者连接在一起。
任何提示和链接都会很棒。提前致谢。