问题标签 [pic24]
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.
debugging - 用于 pic30/xc16 的 objcopy - 在哪里可以找到类似物
我正在使用 PIC24 上的一个非独立项目,该项目需要引导加载程序,我想使用引导加载程序对其进行调试。我能够使用引导加载程序生成一个包含应用程序代码的 .hex 文件,注册一个在编译后执行的自定义脚本。
如果我现在在菜单中选择“Launch Debugger Main Project”,调试器正常执行摘要代码甚至到达应用程序启动,但不显示调试信息,因为它不包含在 .hex 文件中。但是如果我选择“调试主项目”,调试器正在加载包含调试信息但不包含加载程序代码的 .elf 文件,而不是制造的 .hex 文件。
有没有办法强制调试器从一个文件加载调试信息并从另一个文件加载可执行代码?或者有没有办法在编译的 .elf 文件中添加一个部分或完全替换其中的代码?pic30 和 xc16 都没有“objcopy”实用程序,是否有类似物?
这些是有问题的图片:
[1] https://s15.postimg.cc/59jynpikr/2018-06-27-0001.png
[2] https://s15.postimg.cc/kv1a7q7ej/2018-06-27-0002.png
[3] https://s15.postimg.cc/idpj0hid7/2018-06-27-0003.png
[4] https://s15.postimg.cc/8t5wdm0qz/2018-06-27-0004.png
[5] https://s15.postimg.cc/np4fl7rl7/2018-06-27-0005.png
assembly - 如何在 PIC24F 汇编代码中实现循环
以下是以下 C 代码的反汇编:
拆卸:
无法理解 while 循环是如何实现的。假设 [W14+6] 指的Counter
是存储位置 RAM。
注意:为 PIC24FV32KA304 生成的代码
disassembly - xc16获取反汇编(listing.disasm)文件的命令是什么?
我想listing.disasm
为我的项目获取反汇编 () 文件。我当前的编译命令生成 .elf、.map 和 .hex 文件。我如何(或什么命令)产生一个单一的listing.disasm
?注意:我有多个 C 文件,但我需要一个反汇编文件。
我知道 MPLAB X IDE 中有一个选项可以在构建时创建 listing.disasm。但我正在使用批处理文件构建。
编译器:XC16 处理器系列:PIC24F
c - PIC24FJ64GA002 上的 ACKEN 位在确认序列后未清除
这是我遇到问题的代码的一部分,如代码所示 while(I2C1CONbits.ACKEN); 无法清除。这部分代码用于将红外传感器(型号:MLX90614 系列)连接到 Pic24。我的面包板连接正确,我检查了三倍。发生的情况是,当我运行代码时,代码在这个 while 循环处停止并且不再继续。
assembly - 这个“mov”命令是否从我的教科书中正确实施?
我目前正在解决“微控制器第二版”中的一些问题,问题是:
mov [ W1],W0
初始寄存器内存内容
W0 = 0x1004
W1 = 0x1006
W3 = 0xF0A2
0x1000 = 0x382A
0x1002 = 0xFB80
0x1004 = 0x80FF
答案是:
W0 = 0x80FF
W1 = 0x0804
一旦命令执行。我面临的问题是 [W1] 寄存器之前没有任何操作,例如“--”或“++”,这就是为什么我不明白他们是如何得出这个答案的。如果有人能澄清我将不胜感激。
W0 = 0x80FF
W1 = 0x0804
是答案
uart - 在 PIC24F Curiosity 上将 Printf 重定向到 UART
我正在尝试将 Printf 重定向到 UART 以输出到 CoolTerm 等控制台,但没有成功,我正在使用“PIC24F Curiosity Development Board”和 PIC24FJ128GA204、MPLAB X v5.25、MCC v3.85.1
在搜索谷歌和微芯片论坛后,我 在 Youtube On Microchip DM240004 文档上找到了这个
UART 设置:
引脚管理器:
CoolTerm 甚至不将板子识别为串行端口。
我希望能够使用 printf 从板上打印到 CoolTerm、TeraTerm 等。
c - UART PIC24 - 接收连续的 ASCII 字符流
我目前正在使用带有 UART 的 PIC24,并且能够接收(Rx)和发送(Tx)字符。当尝试接收连续的字符流时会出现问题,其中开始位和停止位之间没有延迟。
UART设置为;7 个数据位,1 个奇偶校验位和 1 个停止位,1200 波特
在终端上显示接收到的字符时,它表明只有某些字符才能正确打印。我不认为这是波特率错误,因为当开始位和停止位之间的小延迟(即按住键盘上的键)时,我能够正确接收和打印字符。
要读取连续发送的两个字符,我正在执行以下操作。
c - 接口 32nos。模拟信号到 PIC24EP**814 微控制器
我怎样才能连接32个号码。模拟通道或信号到 PIC 24EP***814 微控制器?
pic - 将 PIC24E 与 ICD3 连接
我正在尝试将 ICD-3 连接到 PIC24E 微控制器,但我发现很难检测到该设备。所有建议,如 ICD-3 接口文档中的已确保,仍然在通过 ICD-3 的 PRD 线发送命令时,设备显示未检测到目标 ID 的错误。MCLR 线也由一个 10kOhm 电阻器拉动。在沟通过程中我还有什么需要确保的吗?在这两者之间我是否遗漏了一些东西。我还附上了 ICD-3 文档链接。(https://ww1.microchip.com/downloads/en/DeviceDoc/DS-51765C.pdf)。