问题标签 [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 - PIC32 UART在初始化后发送垃圾字符
我正在编写代码来配置 pic32 系列设备上的串行端口。初始化似乎大部分工作,但我得到垃圾数据代替我写的前 6 个字符。然而,我注意到,如果我在初始化函数的末尾添加一个任意长的等待,这就会消失。初始化结束时是否需要等待一些注册标志?我的初始化代码如下。如果有帮助,我将根据pic32 参考手册中的 UART 部分进行此初始化。我也为我的传输功能添加了下面的代码。我预期的输出字符串是“Hello from the bootloader code.\r\n”但我得到的实际字节是:
c - pic32写入flash c编程
我是 C 和 PIC 编程的新手。我被要求修复现有代码,因为它不能有效地工作。我进行了更改并提出了自己的算法,但是,由于我只有一些面向对象的经验,我认为我缺少一些基本的东西。这是我的代码:
所以这段代码填充了一些数组,然后将它们一起放入 config[] 中,然后将其写入闪存中。这是 .h 文件的一部分:
我最大的担忧之一是这里的 PageSize。它定义为 4096 (PIC32MX460F512L)。我不确定我是否应该一次写入 4096 字节长的数据。请尝试在这里帮助我,我已经为此苦苦挣扎了很长一段时间,但我找不到我犯的那个愚蠢的错误。
提前致谢
flash - 通过软件编程 PIC32 内部闪存
我正在尝试对 PIC32MX360F512L 上的内部闪存块进行编程和验证。我有一个功能可以一次擦除、编程和验证一个 4096 字节的块。当我运行它时,该函数挂起试图验证第一个字节。
该函数挂起试图验证该行的闪存的第一个字:
if (*((unsigned int *)PA_TO_KVA1(CurrentAddress)) != *pData)
擦除和数据写入似乎已经奏效。有什么建议是什么原因造成的?
此代码适用于另一个应用程序。
c - 如何通过代码重写 PIC32 引导闪存?
我有一个应用程序需要在 PIC32 设备上重写我的引导加载程序。禁用中断后,我尝试使用 NVMERasePage 擦除 0x1fc00000,但它没有擦除,并且 NVMerasePage 返回良好状态。如何从代码中擦除引导闪存?
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?
感谢所有帮助,感谢您的宝贵时间!
c - PIC32 与 RTC 集成
我正在使用 PIC32MX795f512L 并使用 MCP79410 RTC 集成基于时间的功能。由于某些应用目的,我正在使用外部 RTC (MCP79410)。
我只想使用两个警报中断,但我只能访问一个警报中断。如果我启用了 ALM0 和 ALM1,则只有我使用的最后一个警报有效。另一个警报中断不起作用。
我试过的代码:
我试过的警报:
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
事实是,您需要等待,直到数据可用!添加了以下行并且它的工作完美!
pic32 - 如何将许可证目录密钥添加到 mplab xc32?
我已经完成了这些步骤并在我的计算机上运行了所有许可证,但它仍然说我需要注册一个免费的 c++ 编译器
bluetooth - 蓝牙二进制通信丢失字节
我致力于三星 Galaxy 选项卡和自定义设备之间的蓝牙通信。
在定制设备上有一个 PIC32(Microchip)和一个蓝牙 RN-42。PIC 和 RN-42 之间的通信是串行 (UART)。
当我使用文本协议时一切正常,但使用二进制协议时,自定义设备发送的帧被截断(缺少 8 个字节)。
如果我在帧末尾添加 8 个字节,客户端会收到完整的答案。
我已经对几个客户端(Galxy tab,macbook ...)进行了一些测试,结果是一样的。
我已经在调试模式下验证了所有字节都是由 PIC32 发送的。
有人遇到过这种问题吗?任何帮助将不胜感激。
c - 从 for 循环中的字节中提取半字节
我已经为 MicroChip PIC32 嵌入式芯片上的 LCD 显示器改编的 DMA 中断处理程序遇到了一些问题。
我的内存有限,我的彩色 LCD 需要一个帧缓冲区。已决定使用 16 种颜色并使用每像素半字节。我创建了一个如下所示的数组:
在我的中断处理程序中,我将 4 位半字节转换为 16 位值,以通过并行端口和 DMA 传输发送到 LCD。我在中断处理程序中使用查找表来实现这一点,但是在调试时我将进入 General_Exception_Handler,它指出了我提取 4 位半字节并将其转换为 16 位值的方式存在问题:
我正在尝试使用另一个包含 60 个像素的数组将 DMA 设置为一次传输 60 个像素(60 x 16 位):
谁能发现我提取半字节并转换它的方式有问题?没有任何警告或错误,所以没有任何事情发生在我身上!
任何帮助表示赞赏,谢谢