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

0 投票
1 回答
1323 浏览

c - Microchip C18 - 奇怪的代码行为(可能与扩展模式/非扩展模式相关)

我对 PIC18F67J60 的 Microchip C18 编译器有这个奇怪的问题。

我创建了一个非常简单的函数,它应该返回较大字符串中的子字符串的索引。

我不知道出了什么问题,但该行为似乎与是否启用了扩展模式有关。

在 MPLAB.XI 中启用扩展模式后,可获得:

  • memcmppgm2ram函数始终返回零。

在 MPLAB.XI 中禁用扩展模式时,得到:

  • 迭代器变量的值i计为:0, 1, 3, 7, 15, 21

我正在考虑一些堆栈问题或其他问题,因为这真的很奇怪。完整的代码如下所示。

0 投票
7 回答
236752 浏览

c - 将结构复制到C中的结构

我想将相同的结构复制到另一个结构中,然后将其用作与第一个结构的比较。问题是当我这样做时,我的编译器会给我一个警告!我应该以其他方式这样做还是我做错了:

在头文件中:

在 C 文件中:

0 投票
3 回答
1424 浏览

c - 是否可以在 HI-TECH C 中为 PIC12 MCU 创建多线程程序

朋友让我帮他写一个PIC12 MCU的小程序。我们想要

  1. 当输入电压在 2 秒内低于 1.9V 时程序停止运行。
  2. 当输入电压超过 2.5V 时,程序会立即做出反应。

我尝试通过读取和比较系统的时间戳来解决第一个问题:

gmtime(time_t *)在 PIC12 User Manual 中找到了该功能,但我不确定它是否是一个好的解决方案。

但我不知道如何解决第二个问题。它应该是一种独立的线程,在程序执行期间监控输入电压。并且程序应该在电路损坏之前立即做出反应(通过调用其他函数)。

我是计算机程序员,但我从未为 MCU 编写过代码。我想知道在 HI-TECH C 中是否可以做这样的事情?

0 投票
1 回答
1053 浏览

javascript - 需要的文件上传进度条

我需要在网页界面上为使用嵌入式 Microchip TCP/IP 堆栈 Pic32 板的客户端显示上传进度指示器。在网页中,我有一个上传文件页面,让客户端浏览并选择适当的 .hex 或 .wav 文件上传到板内存,从而最终能够引导该文件。我的问题是,当文件上传时,客户端不知道文件的进度,可能会从页面导航,从而取消下载。我需要一个指示器来显示上传进度,以便让客户了解情况。请记住,对于需要上传的不同实例,我有 5 个上传框。我一次只允许 1 个上传。

这是html部分的代码:

我有 Microchip customHTTPApp.c 代码可用,但是在这里发布太麻烦了。

如果需要,我可以发送电子邮件或聊天。我没有发布图片的代表,而且我的 Web 界面站点位于独立版块中,因此没有链接。

预先感谢您的帮助!

-乔什

0 投票
2 回答
1909 浏览

arrays - 如何为常量数组指定内存位置(C30 编译器)

我正在尝试使用 Microchip C30 编译器将数组放置在 PIC24EP256G810 处理器上辅助存储器的最高位置。数组定义如下:

上面的代码会将数据放置在辅助内存空间中,但我不确定如何让编译器将其放置在最高位置。刚才它将阵列放置在引导加载程序占用的位置。

谢谢

0 投票
6 回答
339 浏览

c - 如何在没有浮点数的情况下提高准确性 C

现在我正在做如下:

最终结果:

我会喜欢的内容与此类似:

我怎样才能在不使用floats 或doubles 的情况下更准确地做到这一点,最重要的是不要过多地增加我的代码大小。

亲切的问候 索尼特

0 投票
1 回答
6892 浏览

embedded - PIC18F2680 上的 UART 接收中没有触发中断

我已经使用这段代码好几天了,无法弄清楚为什么我的中断没有被触发。我知道数据正在成功通过,因为我在逻辑分析仪上使用了探头,而且我的波特率是正确的,因为我可以通过 UART 成功传输。

在这一点上,我迷路了,我一遍又一遍地阅读数据表,无法弄清楚我的问题。我将尝试仅包含相关代码,但足以让您看到我的项目中的工作方式。

如果您发现此代码有问题,请告诉我。

谢谢!

main.c 中的代码片段:

来自 interrupts.c 的代码片段

UART RX 中断处理程序片段:

0 投票
1 回答
210 浏览

microcontroller - PIC18f452 端口监听问题

为什么这段代码不起作用?我想要的只是 portb 在我按下按钮时切换。

0 投票
2 回答
2902 浏览

c - PIC单片机的FTP客户端

有谁知道我可以与 PIC 微控制器一起使用的 FTP 客户端的源代码?最好在 C 中,我使用的是 PIC 18F97J60。即使源是不同的 PIC 也没关系,我可以修改它以支持我的需要。

谢谢。

0 投票
1 回答
1446 浏览

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。我不确定为什么它不会链接。我认为要么它是为另一个版本的编译器设计的,要么我缺少一些外部依赖项,或者我缺少一些编译器/链接器开关。

关于我需要做什么来构建它的任何想法?