问题标签 [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.

0 投票
2 回答
2252 浏览

c - PIC32 UART在初始化后发送垃圾字符

我正在编写代码来配置 pic32 系列设备上的串行端口。初始化似乎大部分工作,但我得到垃圾数据代替我写的前 6 个字符。然而,我注意到,如果我在初始化函数的末尾添加一个任意长的等待,这就会消失。初始化结束时是否需要等待一些注册标志?我的初始化代码如下。如果有帮助,我将根据pic32 参考手册中的 UART 部分进行此初始化。我也为我的传输功能添加了下面的代码。我预期的输出字符串是“Hello from the bootloader code.\r\n”但我得到的实际字节是:

0 投票
1 回答
1957 浏览

c - pic32写入flash c编程

我是 C 和 PIC 编程的新手。我被要求修复现有代码,因为它不能有效地工作。我进行了更改并提出了自己的算法,但是,由于我只有一些面向对象的经验,我认为我缺少一些基本的东西。这是我的代码:

所以这段代码填充了一些数组,然后将它们一起放入 config[] 中,然后将其写入闪存中。这是 .h 文件的一部分:

我最大的担忧之一是这里的 PageSize。它定义为 4096 (PIC32MX460F512L)。我不确定我是否应该一次写入 4096 字节长的数据。请尝试在这里帮助我,我已经为此苦苦挣扎了很长一段时间,但我找不到我犯的那个愚蠢的错误。

提前致谢

0 投票
1 回答
912 浏览

flash - 通过软件编程 PIC32 内部闪存

我正在尝试对 PIC32MX360F512L 上的内部闪存块进行编程和验证。我有一个功能可以一次擦除、编程和验证一个 4096 字节的块。当我运行它时,该函数挂起试图验证第一个字节。

该函数挂起试图验证该行的闪存的第一个字:

if (*((unsigned int *)PA_TO_KVA1(CurrentAddress)) != *pData)

擦除和数据写入似乎已经奏效。有什么建议是什么原因造成的?

此代码适用于另一个应用程序。

0 投票
1 回答
706 浏览

c - 如何通过代码重写 PIC32 引导闪存?

我有一个应用程序需要在 PIC32 设备上重写我的引导加载程序。禁用中断后,我尝试使用 NVMERasePage 擦除 0x1fc00000,但它没有擦除,并且 NVMerasePage 返回良好状态。如何从代码中擦除引导闪存?

0 投票
0 回答
210 浏览

microchip - 使用 MPIDE 和 Uno32 “#pragma config”的内存分段错误

我是在这里提问的新手,所以请不要屠杀我!

注意:我正在使用 MPIDE

我正在尝试让我的 Uno32 进入睡眠模式,以便为类似 WSN 的应用程序省电。我浏览了参考手册并找到了相关部分(即使用 OSCCONSET、WDTCONCLR 和 WDTCONSET regs)这将涉及设置看门狗周期、清除看门狗和使用“_ asm _ _ volatile _("wait")" .

我在这里得到了奇怪的结果,因为整个电路板似乎每次都完全重置,所以我的应用程序在 wdt 期间没有有效地休眠..更像是 Twdt (wdt period) + Tsetup

所以我更进一步,想将引导 regs 即“DEVCFG”regs 更改为我在网上示例中看到的那些,看看是否有我遗漏的东西。

所以这涉及“#pragma config”语句,根据我在网上看到的例子,但我无法编译任何这些!看下面的代码:

而且我打扰了chipkit人群等,但我只是想知道是否有人在使用MPIDE和Uno32并且能够更改DEVCFG regs?

感谢所有帮助,感谢您的宝贵时间!

0 投票
1 回答
806 浏览

c - PIC32 与 RTC 集成

我正在使用 PIC32MX795f512L 并使用 MCP79410 RTC 集成基于时间的功能。由于某些应用目的,我正在使用外部 RTC (MCP79410)。

我只想使用两个警报中断,但我只能访问一个警报中断。如果我启用了 ALM0 和 ALM1,则只有我使用的最后一个警报有效。另一个警报中断不起作用。

我试过的代码:

我试过的警报:

0 投票
0 回答
1159 浏览

c - 来自 UART 通过 RS485 与 PIC32 通信的额外垃圾字节

到目前为止的工作:

  • 从带有 USB 转换器的 PC 发送字节到我的带有 Click-Board RS485 的 PIC32MX
  • UART5 用于接收数据,这些数据通过 UART4 发回以在终端中读取
  • 字节被正确回显,但是:

问题:

  • PIC32 接收到一些额外的垃圾字节,如“<0>”或 0x01(在我的 PIC32 上已经对其进行了调试)
  • 当我使用 printf 在中断中回显数据时,接收到的额外字节更少(但无论如何都是一些)

这是我的代码:

我没有像在 plib-Example 中那样放置 PPSOutput。这可能是个问题吗?我猜这里的映射不是必需的,因为它需要标准引脚?

我希望你能以某种方式帮助我。我真的很沮丧,也很努力,但我就是想不通,为什么我会收到这些额外的字节。


编辑:解决了问题:

在这里找到解决方案: http ://www.edaboard.com/thread195556.html

事实是,您需要等待,直到数据可用!添加了以下行并且它的工作完美!

0 投票
1 回答
4697 浏览

pic32 - 如何将许可证目录密钥添加到 mplab xc32?

我已经完成了这些步骤并在我的计算机上运行了所有许可证,但它仍然说我需要注册一个免费的 c++ 编译器

0 投票
1 回答
107 浏览

bluetooth - 蓝牙二进制通信丢失字节

我致力于三星 Galaxy 选项卡和自定义设备之间的蓝牙通信。

在定制设备上有一个 PIC32(Microchip)和一个蓝牙 RN-42。PIC 和 RN-42 之间的通信是串行 (UART)。

当我使用文本协议时一切正常,但使用二进制协议时,自定义设备发送的帧被截断(缺少 8 个字节)。

如果我在帧末尾添加 8 个字节,客户端会收到完整的答案。

我已经对几个客户端(Galxy tab,macbook ...)进行了一些测试,结果是一样的。

我已经在调试模式下验证了所有字节都是由 PIC32 发送的。

有人遇到过这种问题吗?任何帮助将不胜感激。

0 投票
1 回答
1094 浏览

c - 从 for 循环中的字节中提取半字节

我已经为 MicroChip PIC32 嵌入式芯片上的 LCD 显示器改编的 DMA 中断处理程序遇到了一些问题。

我的内存有限,我的彩色 LCD 需要一个帧缓冲区。已决定使用 16 种颜色并使用每像素半字节。我创建了一个如下所示的数组:

在我的中断处理程序中,我将 4 位半字节转换为 16 位值,以通过并行端口和 DMA 传输发送到 LCD。我在中断处理程序中使用查找表来实现这一点,但是在调试时我将进入 General_Exception_Handler,它指出了我提取 4 位半字节并将其转换为 16 位值的方式存在问题:

我正在尝试使用另一个包含 60 个像素的数组将 DMA 设置为一次传输 60 个像素(60 x 16 位):

谁能发现我提取半字节并转换它的方式有问题?没有任何警告或错误,所以没有任何事情发生在我身上!

任何帮助表示赞赏,谢谢