问题标签 [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.
struct - 如何对齐 PIC24 芯片结构中的变量?
我有这个结构,但知道内存中不使用每个第 4 个字节,我需要在内存中正确对齐结构。我不完全确定如何做到这一点,虽然我知道我应该这样做,而且我也知道它需要在哪里发生。
是否有某种 c 数据类型,例如
这告诉编译器跳过接下来的 2 个字节还是什么?有点迷失在这里。
c - UART RX 问题 (PIC24)
我的 PIC24F16KA102 有问题。我正在使用 PicKit2 UART 工具与 PC 进行通信。所以,这些是我的日常:
UART1初始化:
和主要功能:
当我使用 PicKit2 UART 工具发送和接收字符时,我得到的是:
当我发送“1”字符时,我从来没有收到“1”,但有时我会收到“//回车?”。
所以,我的问题是:我应该从哪里开始调试?什么可能出错?
microcontroller - PIC24F32KA302 RTC 配置
我想配置 PIC24F32KA302 的 RTC,以便 LED 每秒切换一次。但是,它不起作用。请在我编写的用于初始化内部 RTC 的 RTC 代码下方找到附件。IDE:MPLAB X IDE 编程器:PICKit 3 编译器:XC16
我的代码有问题吗?谢谢!
sleep - PIC24F32KA302 休眠模式
我想将 PIC24F32KA302 配置为进入休眠模式并通过 RTC 中断唤醒。但是,醒来后,我的程序又从头开始运行。数据表中提到: - 如果为中断分配的优先级小于或等于当前 CPU 优先级,则器件将唤醒并从启动休眠模式的 PWRSAV 指令之后的指令继续执行代码。- 如果为中断源分配的优先级大于当前的 CPU 优先级,设备将被唤醒并开始 CPU 异常处理。代码执行将从 ISR 的第一条指令开始继续。我尝试了两种配置,但结果是一样的。我的代码如下:
函数 SYS_Init() 初始化中断、RTC 和其他外围模块。此函数始终在设备从睡眠模式唤醒后运行。你对我有什么想法或建议吗?谢谢
c - 连接多个设备
我有一个棘手的问题。我的情况是这样的:我必须用一些硬件和一个 PIC24FJ128GA306 处理大量的 PCB(最多 20 个),微芯片只带有一个引导加载程序,我想将我的配置按顺序或同时上传到所有这些时间。它们都将同时连接到同一台计算机。我的问题是,是否可以同时发送到多个 com 端口,或者执行在某些条件下发生变化的自动化过程?
external - MAX824/825 IC看门狗与PIC或ATMEL接口
有人可以帮我将 PIC24 与外部看门狗接口吗? http://datasheets.maximintegrated.com/en/ds/MAX823-MAX825Z.pdf
一种 beta 版本可以是:WDI=1; while(1) { if(wdi!=0) 例程执行中断 }
但我不知道如何重置它。
有人可以给我一个想法吗?
c - C - 赫兹到秒以及如何获得适当的延迟时间?
我正在玩 PIC 24,目前我在将赫兹转换为秒然后将其用作发送到压电片(蜂鸣器、缩放器、扬声器等)的信号延迟时遇到了一点问题,我想使其播放某些音符。
我想知道我是否正在从赫兹转换为秒(在提供的代码中为毫秒),以及我是否正确地进行了信号处理。
这是我遇到麻烦的代码:
我的赫兹到 int 的转换:
这是我将信号发送到我正在使用的 pic24 的方式:
这是我定义注释的方式:
assembly - 错误 No rule to make target PIC24 assembler
我正在尝试使用汇编程序中的 pic24fv32ka301 制作一个简单的程序来打开 LED,但我无法让它工作,当尝试使用 de ASM30 编译器在 MPLAB 中编译时,它会引发以下错误:
代码如下
提前致谢
c - 指针数组中的警告“从不兼容的指针类型初始化”
我在这里问的问题很容易解决。代码工作正常,但这个警告让我很烦!
microcontroller - PIC24F - 设置 LATx 特定引脚而不影响其他引脚
有没有办法在不影响同一端口的其他引脚的情况下设置特定的端口引脚?
例如:
我将LATB[13:6]用于 7 段 LCD,其余的 LATB 位用于其他目的。
现在我需要为显示“0”设置LATB = 0x003F,如果我这样做,其余的位都会改变。
有人可以帮助我吗?