问题标签 [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.
embedded - 如何在不使用 freeRTOS 轮询的情况下读取 cerebot Mx7ck 中的按钮?
我是 freeRTOS 的新手。我目前正在开发一个使用运行 freeRTOS 的 cerebot Mx7ck(PIC32) 的项目。我需要使用一些事件读取按钮(即使用按钮输入作为输入事件)?但我不允许使用 freeRTOS 中可用的轮询技术或 ISR。
教授建议使用事件处理程序。我对 freeRTOS 中的事件管理一无所知。如果不使用中断服务例程,freeRTOS 中似乎没有事件处理程序和管理。
请帮忙。我被困在这很长一段时间了。
c - MPLab PORTFbits has no member called RF0
I received my chipKit Uno32 today and I wanted to program it with MPLab X. My code is fairly simple and just toggles a Pin (one with an LED...). When compiling, it gives me these errors though:
plib.h is included and I enabled c99. When disabling c99, it compiles properly! Any ideas? I'd really like to use c99 since it features quite a ton of stuff I regularly use...
Code:
tcpclient - 如何让一个简单的 TCP 客户端在 PIC32 以太网入门板上工作?
我不是真正的网络精通,所以我有点挣扎。我的网络服务器演示工作正常。现在我正在尝试在 PC 上的 Qt Creator 服务器和板上的一个非常基本的客户端之间构建一个客户端-服务器连接。我抄袭了演示代码来初始化板,然后调用 tcpOpen(),如果找不到服务器(是/否?),我预计它会失败。这是我的 TCPIPCONFIG.H 文件中启用的内容:
在 main 中,我有(记住,从 main() 调用的函数取自演示):
对 TCPOpen() 的调用总是返回 0(当我检查 remoteSockInfo 时这似乎是有效的)。但是,以太网是否插入电路板并不重要……或者我在该呼叫中使用的任何 IP 地址。
在这种情况下,您不希望调用失败吗?
谢谢,
乔·B。
PS:我在公司的 PC 上尝试测试这块板,所以不允许使用任何网络窥探软件(如wireshark)......我很快就会搬到实验室,届时会有更多的自主权。
编辑:我找到了 GenericTCPClient.c 的源代码,并看到 tcpOpen() 调用创建了套接字并正在积极尝试连接到服务器。所以,现在我想我的问题是,板/插座会在这种状态下响应 ping(即,尚未连接到服务器)吗?
c - 包括 PIC32MX 上 FreeRTOS 简单演示的问题
几天来,我一直在尝试在工作中使用 freeRTOS。由于我已阅读完网站上的文档,我现在正在尝试在 PIC32 入门套件(使用 MPLABX.
到目前为止它工作正常,LED 闪烁并且消息被发送和接收(是的)。然而,虽然它并没有阻止我运行演示,但我在特定类型的包含和使用中得到了大量的红色感叹号,这有点奇怪。我决定暂时不要太在意。
但是现在我试图包含一个个人头文件,我得到一个失败的构建。我完全不知道为什么会发生这种情况,因为我总是以相同的方式包含头文件并且从未遇到过这种问题。
任何帮助都将不胜感激,无论是为什么我不能让这包括工作,以及为什么我得到了无数个感叹号。
提前致谢,如果您需要更多信息,请告诉我。
代码:
错误:
../main_blinky.c:181:18:致命错误:Menu.h:没有这样的文件或目录
编辑:
我已经完成了无数个感叹号 pb,我已经在 freeRTOS 目录中搜索了丢失的 .h 文件,并将路径添加到了编译器的 inculde 目录选项。
看起来您必须添加几个包含文件夹,但我不记得在文档中阅读过任何内容,可能是因为它不会阻止演示运行我猜。
现在我需要处理其他 pb。我会告诉你什么。
embedded - PIC32MX dma 不是由 adc 触发
我正在尝试在 pic32mx795f512l 上做一个小应用程序,但我无法让它工作。我想要实现的是,adc 以尽可能高的速率不断地从通道 0 获取当前模拟值。如果 16 Word 缓冲区被填满,它应该触发 dma 将此缓冲区保存在 ram 中。如果 ram 缓冲区已满,则 dma 应触发中断。所以我可以在主循环中开始计算。我现在的问题是根本没有触发 dma。当我在 adc 上启用中断时,主循环没有运行。有谁知道我做错了什么?这是我的源代码:
c - XC32 从 1.32 迁移到 1.34
我正在使用 XC32 和 MPLABX 工作。经过一年的项目,我决定尝试升级到新的 XC32 版本。我已经看到不再支持像 plib 这样的遗留库,我想知道是否有人尝试将旧项目迁移到新的 Harmony 框架,以及是否有所有以前的库的替代方案。
从 Legacy 迁移到 Harmony 会是一项漫长的工作吗?这是一个安全的过渡吗?
pic - RIErr0035:使用 MPlabX 后无法在 MPlab 8 中获取设备 ID
我在一个新项目中使用了 MPlab X,它确实有效。完成后,我必须从事 MPlab 8 项目。我首先运行 MPlab 驱动程序切换器,告诉它我现在使用的是 MPlab 8。然后我运行 MPlab 8,加载我的项目并连接我的 REALICE 编程器/调试器。我收到了 RIErr0035:无法获取设备 ID。它以前工作过。我尝试了 PICKIT 3 并得到了同样的错误。我尝试了一个不同的prolect,它得到了同样的错误。在我将 MPlab X 用于新项目之前,所有项目和程序员都工作过。我也重新启动了我的电脑。我可以做些什么来解决这个问题,以便我可以再次处理我的 MPlab 8 项目?
c - PIC32 中的 C,在 2 个 *.c 文件之间传递结构变量
我现在碰壁了,想恢复速度。
我有一个“fileA.c”文件和“fileB.c”文件,我想在它们之间传递变量。此外,“fileA.h”和“fileB.h”分别是标题。
“fileA.c”中的变量UINT16 Storage1.CntLog1.PosEdge
到“fileB.c”。如何使用指针执行此操作?
下面是 FileA.h 头文件的代码片段,我想将变量 PosEdge 作为参考传递给另一个 FileB.c。在 Header 中有 2 个变量 PosEdge,一个在 c 文件中。任何人都会这样做。
这是 FileA.c 的一个片段
我试过的............我试过用这样的东西
并类似地在标题“fileA.h”中声明它,然后在“fileB.c”中声明“#include fileA.h”,如果(Storage1.CntLog1.PosEdge==0x01)则闪烁LED
我不知道如何使用指针发送此信息.....任何帮助将不胜感激。谢谢。也许类似于
但是 PIC32 编译器不喜欢“&”
c - 在 PIC32 上,INT16 的数组是如何在内存中分配的?
基本上我有一堆 2 字节整数顺序写入 32 位闪存中。如何将这些作为 int16 数组访问?
我编写了数组而不考虑单词边界。但如果需要,我可以添加填充,以便数组从单词边界开始。
这是我写闪存的代码(基本上它只是将每 4 个字节组合成一个字,然后将该字写入闪存):
混合到这个字节块中的是首尾相连的 2 字节整数序列。将它们写入闪存后,如何将它们作为数组访问?我是否必须填充数组以便每个单词中有 2 个 int16?
谢谢!
pic - 将 libpic30.h 与 PIC32 一起使用
现在我正在开发自己的 PIC32 端口,我需要使用 libpic30.h 库。我一直在阅读它并寻找与 PIC32(入门套件 III PIC32MX450/470 MCU)相同的库,但我认为它不存在。这是正确的?如果它存在那就太好了!
libpic30.h 代码: https ://code.google.com/p/uavfirmware/source/browse/UAVFirmware/include/libpic30.h?r=1db3ec8e9015efb837b0d684c98204317ea2efd5
在这种情况下,libpic30.h 与 PIC32 不兼容,对吧?我不知道,很好,在这种情况下如何做这个端口的最好方法是什么?......我很迷茫!
谢谢你的知识!!;)