问题标签 [pic18]

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 投票
0 回答
1064 浏览

c - PN532 NFC 阅读器到 PIC18F 接收错误信息

我从 iteadstudio.com 购买了一个 PN532 NFC 阅读器,并尝试通过 SPI 将其与 PIC18F4520 连接。

由于制造商没有可用的 C 驱动程序,我一直依赖这个基于 adafruit PN532 Arduino 驱动程序并适用于 ATMega 的驱动程序。

到目前为止,我只对驱动程序进行了 1 次更改。由于 PN532 首先需要数据 LSB,而 PIC 无法在硬件中处理此问题,因此我添加了以下行:

SPIwrite和 LSB 到 MSI readSPIdata函数中将 MSB 转换为 LSB。

但是,我在SAMConfig函数中不断收到错误,其中 pn532_packetArray[5] 不等于 0x15,因此不返回 1,并且在 pn532_packetArray[7] 始终等于 0的readPassiveTargetID函数中再次出现错误,尽管 NFC 标签是当下。如果我注释掉 pn532_packetArray[5],我可以从标签中读取某种形式的 ID,尽管我很确定它是不正确的。

所有其他校验和和sendCommandCheckAck函数都可以正常工作。我已经反复检查了我的代码与驱动程序。在这个阶段我正在拔头发,所以任何帮助或建议将不胜感激。

这是确切的代码:

所以我认为问题一定出在 readSPIData 函数中:

SPI读取功能是基本的:

任何人都可以发现错误吗?

0 投票
2 回答
515 浏览

c - 在 PIC18LF6722 中使用高优先级接收中断初始化 UART

对于最后一行,为什么需要将 RCSTA2bits.CREN 设置为 0?如果设置为o,我如何接收传入的数据?

使用高优先级接收中断初始化 UsART2

这是我的高中断代码

这是我的低中断代码

第 106 页 0F http://www.flexipanel.com/Docs/Toothpick%202.1%20DS484.pdf

这段代码不起作用,我不知道为什么。你们能帮我吗?

0 投票
1 回答
349 浏览

c - 为什么用高优先级接收中断初始化UART需要使RCSTA2bits.CREN = 0;

对于最后一行,我不明白为什么要清除我使用 PIC18LF6722 的 RECEIVE ENABLE FLAG

0 投票
1 回答
626 浏览

c++ - 无法写入闪存程序存储器 (PIC18F4620)

我试图将一些数据写入闪存程序存储器。我阅读了数据表并按照步骤操作。我还编辑了 rom 数组的链接器脚本。下面是我在 C 中的闪存程序存储器序列代码。我试图写入地址 0xFF00。

以下是我编辑的链接器脚本:

0 投票
1 回答
928 浏览

pic - picc代码中__18CXX和__PCB__是什么意思

我通常会看到以下几行与编译器相关的代码:

我怎么知道每一个的意思?

0 投票
1 回答
627 浏览

assembly - 从 pic18f 读取端口,然后做一些事情

如何从PORTA( RA0, RA1) 中读取前 2 位,然后使用它们?我有一个开关连接到它们中的每一个,并且我想在两者都输出 a 1onRB1RA0, RA1are 1

我已配置PORTA为输入和PORTB输出

然后在一个循环中,我不断读取PORTA值,我想检查两个最低位是否在1. 为此,我将值PORTA0x03移至PORTAWREG 后的值进行比较。

在地址0x02中,我以前存储了该值0x03

但它不起作用,我不知道为什么。

多谢

0 投票
1 回答
201 浏览

pic18 - main 函数无缘无故地重复自己

大家好,请帮帮我...我不知道为什么 void main() 函数在没有任何 while 循环的情况下不断重复。在 LCD 上首先显示“IN PROGRESS”(状态1),然后显示“IDLE MODE”(状态2),然后延迟 500 毫秒后“IN PROGRESS”(状态1),然后“IDLE MODE”(状态2)不断重复,它从不显示“SPI MODE (状态3)。我不知道发生了什么可能是微控制器自行复位。任何帮助将不胜感激。我正在使用带有C18编译器的MPLAB IDEv8.92。提前致谢。

0 投票
3 回答
1362 浏览

pic - 如何将十六进制文件刻录到图片?“硬件”

晚上好 ..

我是微控制器的新手..

我已经学习了一门关于“pic 16”的课程,据我所知,pic16 需要一个外部设备才能在 rom 中刻录 hex 文件。

现在我想研究 pic24 我在 pic24 中发现了一个叫做 usb 的东西 ..

我可以在没有外部设备的情况下通过 USB 刻录 hex 文件吗?或者这是另一个与刻录 hex 文件无关的术语??

有没有办法在没有额外设备的情况下刻录文件?

还有在 pic32 中是否有任何类型的它可以不使用 kit3 直接连接?

我不想买 kit3 :\

kit3可以编程各种pic微控制器(16、24、32)吗?

抱歉延期

非常感谢你

0 投票
1 回答
45 浏览

c - 这是有效的代码吗?来自 PIC 单片机库的带有 @ 和地址的 extern

我使用 clang 对我的 PIC18 微控制器代码进行了一些分析。它有很多错误,这似乎是由这样的标题中的行引起的。

我了解这是在做什么,将符号映射到芯片上的寄存器,但是这是标准 C 还是其编译器的仅微芯片扩展?

0 投票
1 回答
1072 浏览

pointers - 在结构中使用 PIC PORT 地址

我试图通过使用函数通过结构传递端口地址,但我不知道如何更正指针的工作。这是我的结构和函数的代码:

事实证明,我做的不正确,我无法正确读取或控制 PORT。我正在使用 Mikroelectronic PRO 编译器。