问题标签 [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.
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 服务器
microcontroller - 启用数据存储器 PIC 18F4550
我正在使用 microchip 的 PIC18F4550 和 c 编译器:默认情况下使用“程序存储器”,但现在我想使用“数据存储器”,因为它给了我更多的功能,谁能告诉我怎么能我用程序语言 C 表示。
那代码:
c - 图片 18F4550:局部变量问题,
我将 pic18F4550 与 microchip v8.63 和 C 18 编译器一起使用。我正在使用一个 LDR 来检索 LED 的值(不在我的 picdem 板上)(红色、绿色和蓝色),这些值在每次转换后都存储在一个变量中。之后,当我按下按钮 S2 时,我进入了 ISR 方法:这部分有效。
但是现在:我尝试比较 if 中的变量 red、green 和 blue:但我认为这不会发生,他只是去我的“else”(我的 picdem 板上的 LED RB3 烧毁)。
c - 根据 pic 18f4550 的位值发音颜色
更新 2
我想制作一个可以在我的 pic 18f4550 上播放声音(可以说是红色、绿色和蓝色)的程序,有一个扬声器连接到 picdem,这部分工作正常,我用微芯片版本 6.83 用 C 编写了以下程序编译器。
当我说红色时(这有一个位模式),我需要检索 .wav 文件的位值。我的正确问题是,如何获取 .wav 文件的位值。
gcc - 在 PIC32 (MIPS32) 上运行的 C++
不幸的是,我的 PIC32 的 C 应用程序需要 OO 太多,我不能继续在 C 中做。
你知道任何用于 PIC32 的 MIPS32 C++ 编译器吗?
谢谢
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:
显示:
每时每刻,在分配另一个块之前只进行一次分配和释放,因此内存永远不会碎片化。
c - 其他声音,然后是原始 .wav 文件
我正在使用来自 microchip v8.63 的 pic18F4550:我为 picdem 使用了 C 程序语言:我们创建了以下程序:我们检索转换为 8 位 8000Hz 的 .wav 文件的二进制数据(声音是:有人说是“ red"),我们将数据写入 picdem 的 'rom'。每个值都将写入端口 => 有一个连接到的盒子。
问题:我不能在这里听到原始声音(有人说:“红色”),而不是听到一个响亮的其他声音(没有噪音或爆裂声),而是一个响亮的其他声音。
那是代码:
html - .inc 文件不可靠地包含在内
我正在处理一些从另一个程序员继承的 HTML 代码,它使用以下形式的 include 语句:
但是,我遇到的问题是这个包含语句不能可靠地工作。大约 90% 的时间,包含文件中的所有信息都可以毫无问题地导入,但是当我刷新页面时,所有这些内容经常会丢失,当我再次刷新时又会返回。我已经尝试将包含语句更改为更广泛使用的形式,例如:
但这只会导致文件始终不被包含在内。我一直在互联网上的其他地方四处寻找,但似乎找不到任何解决方案,甚至找不到任何使用 '~inc:' 包含语句的方法。
值得注意的是,此 HTML 是从托管在低功耗设备上的固件加载的,并且页面上的某些项目会定期更新。更新方法是否可能运行得太快而硬件无法处理?
有人对我如何解决这个问题有任何想法吗?
eclipse - 命令行串口终端
我正在使用 Eclipse 为嵌入式系统开发应用程序。
Eclipse 配置的选项之一是“编程/构建后运行的程序”
通常,在那个文本框中,它是我们之前生成的 .exe 的路径,但在这种情况下,我想运行一个串行端口终端,如下所示:
终端 -COM=9 -baud=9600...
我的目标是在 Eclipse 控制台上打印该终端。那可能吗?
c - Timer1 作为实时时钟的精度,PIC 中断在 16F*
我将 C 与 BoostC 编译器一起使用。我担心我的代码有多准确。下面的配置以或多或少的 1Hz 滴答作响,(用 LED 肉眼测试)。(它为 16f74 上的 Timer1 使用了一个 32kHz 的外部手表晶体)。
我希望有人能告诉我...
我下面的代码需要任何调整吗?测量最近 CPU 时钟周期的精度的最简单方法是什么?我是否需要弄脏组装以可靠地确保 1Hz 信号的准确性?
我希望执行计时器处理程序(和其他)所花费的时间甚至不会出现,因为计时器总是在计数。只要处理程序的执行时间从不超过 1/32kHz 秒,那么 1Hz 信号本质上是否具有 32kHz 晶体的精度?
谢谢