问题标签 [dspic]

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 投票
2 回答
1097 浏览

uart - 如何从 uart 接收超过 5 个字节?

  • 微控制器:dsPIC30F4013
  • 编译器:xc16

我试图从 UART 接收一个数组,但我只得到前 5 个字节。

我知道接收缓冲区有 4 个字深,但我也需要接收其他字节。也许使用循环缓冲区,但我不知道如何使用它。

谁能帮我获取数组中的所有字节?

这是我当前的代码:

我将每个数组位置发送到 PC:

串行监视器 串行监视器

对不起,我的英语不好。

0 投票
1 回答
295 浏览

assembly - 如何在 PIC24F 汇编代码中实现循环

以下是以下 C 代码的反汇编:

拆卸:

无法理解 while 循环是如何实现的。假设 [W14+6] 指的Counter是存储位置 RAM。

注意:为 PIC24FV32KA304 生成的代码

0 投票
2 回答
1271 浏览

shell - 如何从 linux 命令行将 hex 文件上传到 dsPIC33?

我想编写一个脚本来将 hex 文件从主机上传到 dsPIC33,因此需要一个命令行实用程序或 API 来做同样的事情。

到目前为止,我一直在使用带有 ICD4 的 MPLAB IPE 对芯片进行编程。

我试图搜索相同的内容,发现人们已经使用ipecmd实用程序完成了它,但找不到它的包。

0 投票
1 回答
92 浏览

uart - 为什么这段代码使用 dspic33ep512mu810 芯片 uart 2 不工作

在 MPLAB X IDE v5.10 中,我使用的是 dspic33ep512mu810 微控制器。

我有以下一段 C 代码:

我正在尝试通过 UART2 以 115200 的波特率发送“H”,但它不起作用。

0 投票
1 回答
57 浏览

external - dsPic33EP512MU810 外部中断

我想为触摸屏芯片使用外部中断。我现在可以成功配置 TFT 芯片。但未能触发我的中断。我认为我的 MCU 配置正确。

0 投票
2 回答
1069 浏览

c - UART 不传输/打印多个字符

我正在尝试使用 UART 模块在 dsPIC33FJ64GP802 与终端和 PC 之间设置基本的串行通信。但是,UART 不会传输超过一次的字符。我正在使用 MPLAB-X (V 5.05)。我还使用 snap 调试器对 dsPic 进行编程。我试图找出我的代码中的错误。我尝试更改 dsPic 本身和蓝牙模块。那没起效。我不知道我是否遗漏了一些内容。

0 投票
1 回答
177 浏览

c - 无论我要求我的系统发送什么,它只发送 FF 和 FE

我创建了一个系统,该系统将从车辆读取 CANBUS 数据并将其无线传输到“基站”。到目前为止,我的代码的工作原理是它通过数据线将东西发送到 xbee,xbee 将其发送到接收模块,除了它唯一发送的东西是 FF 和 FE,无论我要求它发送什么. 任何帮助是极大的赞赏。

主程序

UART1.c

预期结果:从一个模块向另一个模块重复发送 YES 实际结果:repretedly 发送 FF FE

0 投票
1 回答
44 浏览

c - 试图从我知道存在并且很好但不会打开的文件中读取

当我尝试打开文件“canbus.txt.txt”时,它会返回一条错误消息,重复读出“错误:无错误”。我找不到这个问题的来源。我的文件在主项目目录中,名称和扩展名都是正确的。

0 投票
0 回答
267 浏览

printf - Printf / 在 MPLAB X IDE - dsPIC33F 上显示值

我是一个真正的 PIC 初学者,我正在尝试使用带有 dsPIC33F 的开发板,使用 MPLAB X IDE 和 CANalyzer。我使用 dsPIC 发送 CAN 帧,但 CANalyzer 读取的数据不是我尝试发送的数据。有什么方法可以在 MPLAB IDE 上检查我的变量值或帧?

我尝试按照论坛上的说明使用 printf,但似乎无法打开 UART 窗口:/

我发送了一个 DLC = 0x001 和一个数据 = 0x002 的帧,CANanalyzer 读取的 ID 和 DLC 是正确的,但它说接收到的数据是“00”。

已解决(帧初始化问题)

0 投票
0 回答
173 浏览

c - 在 dsPIC33 中从 C 调用的汇编函数中如何解释返回值?

我刚开始接触 RTSP,正在查看 Microchip 的 RTSP 示例中的汇编代码。有两个文件rtsp_api.hrtsp_api.s. 我想知道如何获取返回值以及它是如何工作的。

例如,有一个函数rtsp_api.h声明如下

其定义rtsp_api.s如下

代码文档说该函数在失败时返回 -1。

参考X16 编译器用户指南第 13.8.2 节,我看到返回值保存在 W0 寄存器中,但上面的代码在返回之前清除了 W0 寄存器。

那么代码将如何返回 -1 ?这可能是一个错误还是我对装配的了解极其有限?