问题标签 [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.
c - Microchip C18 - 奇怪的代码行为(可能与扩展模式/非扩展模式相关)
我对 PIC18F67J60 的 Microchip C18 编译器有这个奇怪的问题。
我创建了一个非常简单的函数,它应该返回较大字符串中的子字符串的索引。
我不知道出了什么问题,但该行为似乎与是否启用了扩展模式有关。
在 MPLAB.XI 中启用扩展模式后,可获得:
- 该
memcmppgm2ram
函数始终返回零。
在 MPLAB.XI 中禁用扩展模式时,得到:
- 迭代器变量的值
i
计为:0, 1, 3, 7, 15, 21
我正在考虑一些堆栈问题或其他问题,因为这真的很奇怪。完整的代码如下所示。
c - 将结构复制到C中的结构
我想将相同的结构复制到另一个结构中,然后将其用作与第一个结构的比较。问题是当我这样做时,我的编译器会给我一个警告!我应该以其他方式这样做还是我做错了:
在头文件中:
在 C 文件中:
c - 是否可以在 HI-TECH C 中为 PIC12 MCU 创建多线程程序
朋友让我帮他写一个PIC12 MCU的小程序。我们想要
- 当输入电压在 2 秒内低于 1.9V 时程序停止运行。
- 当输入电压超过 2.5V 时,程序会立即做出反应。
我尝试通过读取和比较系统的时间戳来解决第一个问题:
我gmtime(time_t *)
在 PIC12 User Manual 中找到了该功能,但我不确定它是否是一个好的解决方案。
但我不知道如何解决第二个问题。它应该是一种独立的线程,在程序执行期间监控输入电压。并且程序应该在电路损坏之前立即做出反应(通过调用其他函数)。
我是计算机程序员,但我从未为 MCU 编写过代码。我想知道在 HI-TECH C 中是否可以做这样的事情?
javascript - 需要的文件上传进度条
我需要在网页界面上为使用嵌入式 Microchip TCP/IP 堆栈 Pic32 板的客户端显示上传进度指示器。在网页中,我有一个上传文件页面,让客户端浏览并选择适当的 .hex 或 .wav 文件上传到板内存,从而最终能够引导该文件。我的问题是,当文件上传时,客户端不知道文件的进度,可能会从页面导航,从而取消下载。我需要一个指示器来显示上传进度,以便让客户了解情况。请记住,对于需要上传的不同实例,我有 5 个上传框。我一次只允许 1 个上传。
这是html部分的代码:
我有 Microchip customHTTPApp.c 代码可用,但是在这里发布太麻烦了。
如果需要,我可以发送电子邮件或聊天。我没有发布图片的代表,而且我的 Web 界面站点位于独立版块中,因此没有链接。
预先感谢您的帮助!
-乔什
arrays - 如何为常量数组指定内存位置(C30 编译器)
我正在尝试使用 Microchip C30 编译器将数组放置在 PIC24EP256G810 处理器上辅助存储器的最高位置。数组定义如下:
上面的代码会将数据放置在辅助内存空间中,但我不确定如何让编译器将其放置在最高位置。刚才它将阵列放置在引导加载程序占用的位置。
谢谢
c - 如何在没有浮点数的情况下提高准确性 C
现在我正在做如下:
最终结果:
我会喜欢的内容与此类似:
我怎样才能在不使用float
s 或double
s 的情况下更准确地做到这一点,最重要的是不要过多地增加我的代码大小。
亲切的问候 索尼特
embedded - PIC18F2680 上的 UART 接收中没有触发中断
我已经使用这段代码好几天了,无法弄清楚为什么我的中断没有被触发。我知道数据正在成功通过,因为我在逻辑分析仪上使用了探头,而且我的波特率是正确的,因为我可以通过 UART 成功传输。
在这一点上,我迷路了,我一遍又一遍地阅读数据表,无法弄清楚我的问题。我将尝试仅包含相关代码,但足以让您看到我的项目中的工作方式。
如果您发现此代码有问题,请告诉我。
谢谢!
main.c 中的代码片段:
来自 interrupts.c 的代码片段
UART RX 中断处理程序片段:
microcontroller - PIC18f452 端口监听问题
为什么这段代码不起作用?我想要的只是 portb 在我按下按钮时切换。
c - PIC单片机的FTP客户端
有谁知道我可以与 PIC 微控制器一起使用的 FTP 客户端的源代码?最好在 C 中,我使用的是 PIC 18F97J60。即使源是不同的 PIC 也没关系,我可以修改它以支持我的需要。
谢谢。
usb - Microchip PIC (MPLAB/C18) 的 USB HID 代码中的链接器错误
我正在尝试为基本的 USB HID 功能编译一些代码。我正在使用带有 MPLAB 8.43 和 Microchip C18 编译器的 PIC18F14K50。
我正在使用 Microchip 网站上的一些标准文件。这是我的 C 文件,这是我的头文件。
构建时出现以下错误:
执行:"C:\Program Files\Microchip\mplabc18\v3.40\bin\mplink.exe" /p18F14K50 /l"C:\MCC18\lib" /k"C:\MCC18\bin\LKR" "usb_function_hid. o" "usb_device.o" "enumeration.o" "usb_descriptors.o" /u_CRUNTIME /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"C:\LPCUSBDK_Labs\Lab1_files\output\Project Lab 1.cof" /M" C:\LPCUSBDK_Labs\Lab1_files\output\Project Lab 1.map" /W
MPLINK 4.40,链接器
设备数据库版本 1.3
版权所有 (c) 1998-2011 Microchip Technology Inc.
错误 - 在文件“./usb_function_hid.o”中找不到符号“HIDDescriptor1”的定义。
错误:1
链接步骤失败。
该HIDDescriptor1
符号出现在代码中的 2 个位置:C 文件的 PasteBin 行 173 和头文件的 PasteBin 行 356。
此代码直接来自 Microchip。我不确定为什么它不会链接。我认为要么它是为另一个版本的编译器设计的,要么我缺少一些外部依赖项,或者我缺少一些编译器/链接器开关。
关于我需要做什么来构建它的任何想法?