问题标签 [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 回答
1636 浏览

visual-studio-2010 - Visual Studio 2010 中的 pic32 项目

有没有人设法配置 VS2010 在 PIC32 微控制器上构建和调试嵌入式项目?那里有教程吗?

使用 WinGDB,我可以连接到 gdb 服务器以从 vs2010 中逐步执行代码(已测试此编译和调试到 linux 目标)。

微芯片开发工具似乎基于 gcc 的修改副本,缺少 gdb,但 gdb 提供了第三方 mips 编译器工具链。我知道微芯片调试接口是专有的,在此设置中无法使用,但 PIC32 支持 JTAG 调试,我有一个 openocd 支持的 amontec jtagkey 2。

我目前对一种方法的想法是:

  • 在 windows 下基于 mips gcc 构建
  • 使用 Pickit3 命令行工具编程芯片
  • 使用 openocd 为目标设备提供 gdb 服务器
  • 使用 winGDB 从 Visual Studio 2010 连接到 gdb 服务器
0 投票
1 回答
622 浏览

microcontroller - 启用数据存储器 PIC 18F4550

我正在使用 microchip 的 PIC18F4550 和 c 编译器:默认情况下使用“程序存储器”,但现在我想使用“数据存储器”,因为它给了我更多的功能,谁能告诉我怎么能我用程序语言 C 表示。

那代码:

0 投票
2 回答
1150 浏览

c - 图片 18F4550:局部变量问题,

我将 pic18F4550 与 microchip v8.63 和 C 18 编译器一起使用。我正在使用一个 LDR 来检索 LED 的值(不在我的 picdem 板上)(红色、绿色和蓝色),这些值在每次转换后都存储在一个变量中。之后,当我按下按钮 S2 时,我进入了 ISR 方法:这部分有效。

但是现在:我尝试比较 if 中的变量 red、green 和 blue:但我认为这不会发生,他只是去我的“else”(我的 picdem 板上的 LED RB3 烧毁)。

0 投票
3 回答
306 浏览

c - 根据 pic 18f4550 的位值发音颜色

更新 2

我想制作一个可以在我的 pic 18f4550 上播放声音(可以说是红色、绿色和蓝色)的程序,有一个扬声器连接到 picdem,这部分工作正常,我用微芯片版本 6.83 用 C 编写了以下程序编译器。

当我说红色时(这有一个位模式),我需要检索 .wav 文件的位值。我的正确问题是,如何获取 .wav 文件的位值。

0 投票
4 回答
3660 浏览

gcc - 在 PIC32 (MIPS32) 上运行的 C++

不幸的是,我的 PIC32 的 C 应用程序需要 OO 太多,我不能继续在 C 中做。

你知道任何用于 PIC32 的 MIPS32 C++ 编译器吗?

谢谢

0 投票
2 回答
2073 浏览

c - Doug Lea 分配器的奇怪 malloc 行为

我有一个非常小的系统,只有 16kb 的堆,没有 mmap,没有交换。我正在使用 Doug Lea 分配器ftp://g.oswego.edu/pub/misc/malloc-2.8.5.c的最新版本 2.8.5

更新我做了一个更小的测试用例,更容易理解,看看我的问题是什么

如果我分配 8kb,释放它,分配 12kb,它正在工作(i!= NULL),我可以分配 12kb:

显示:

如果我首先分配了一个太大的缓冲区(30kb),然后我分配了 8kb,释放它,分配 12kb,它正在工作(i == NULL),我无法分配 12kb:

显示:

每时每刻,在分配另一个块之前只进行一次分配和释放,因此内存永远不会碎片化。

0 投票
2 回答
411 浏览

c - 其他声音,然后是原始 .wav 文件

我正在使用来自 microchip v8.63 的 pic18F4550:我为 picdem 使用了 C 程序语言:我们创建了以下程序:我们检索转换为 8 位 8000Hz 的 .wav 文件的二进制数据(声音是:有人说是“ red"),我们将数据写入 picdem 的 'rom'。每个值都将写入端口 => 有一个连接到的盒子。

问题:我不能在这里听到原始声音(有人说:“红色”),而不是听到一个响亮的其他声音(没有噪音或爆裂声),而是一个响亮的其他声音。

那是代码:

0 投票
1 回答
775 浏览

html - .inc 文件不可靠地包含在内

我正在处理一些从另一个程序员继承的 HTML 代码,它使用以下形式的 include 语句:

但是,我遇到的问题是这个包含语句不能可靠地工作。大约 90% 的时间,包含文件中的所有信息都可以毫无问题地导入,但是当我刷新页面时,所有这些内容经常会丢失,当我再次刷新时又会返回。我已经尝试将包含语句更改为更广泛使用的形式,例如:

但这只会导致文件始终不被包含在内。我一直在互联网上的其他地方四处寻找,但似乎找不到任何解决方案,甚至找不到任何使用 '~inc:' 包含语句的方法。

值得注意的是,此 HTML 是从托管在低功耗设备上的固件加载的,并且页面上的某些项目会定期更新。更新方法是否可能运行得太快而硬件无法处理?

有人对我如何解决这个问题有任何想法吗?

0 投票
1 回答
1546 浏览

eclipse - 命令行串口终端

我正在使用 Eclipse 为嵌入式系统开发应用程序。

Eclipse 配置的选项之一是“编程/构建后运行的程序”

通常,在那个文本框中,它是我们之前生成的 .exe 的路径,但在这种情况下,我想运行一个串行端口终端,如下所示:

终端 -COM=9 -baud=9600...

我的目标是在 Eclipse 控制台上打印该终端。那可能吗?

0 投票
1 回答
3616 浏览

c - Timer1 作为实时时钟的精度,PIC 中断在 16F*

我将 C 与 BoostC 编译器一起使用。我担心我的代码有多准确。下面的配置以或多或少的 1Hz 滴答作响,(用 LED 肉眼测试)。(它为 16f74 上的 Timer1 使用了一个 32kHz 的外部手表晶体)。

我希望有人能告诉我...

我下面的代码需要任何调整吗?测量最近 CPU 时钟周期的精度的最简单方法是什么?我是否需要弄脏组装以可靠地确保 1Hz 信号的准确性?

希望执行计时器处理程序(和其他)所花费的时间甚至不会出现,因为计时器总是在计数。只要处理程序的执行时间从不超过 1/32kHz 秒,那么 1Hz 信号本质上是否具有 32kHz 晶体的精度?

谢谢