问题标签 [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.

0 投票
2 回答
2875 浏览

pic - MPLAB 上的 LED 闪烁不工作?

我正在使用 MPLAB 对我的新微芯片板进行编程并使用 pickit3 对其进行编程

代码:

这段代码没有做任何事情,它在高科技 C 编译器上完美编译,但没有按预期运行,也许问题出在配置位上?知道如何解决这个问题吗?

0 投票
2 回答
2380 浏览

bluetooth - TI芯片CC2540可以用于手机蓝牙接入吗?

我想用Ti芯片cc2540和手机通信。我对这种芯片不熟悉。””我找到的是这个:http : //cn.mouser.com/ticc2540/ 上面写着“Texas Instruments CC2540 2.4 GHz Bluetooth® SoC”“手机配件”。

有人用这个芯片做过什么吗?

如果不能,还有什么芯片可以通过蓝牙与手机通信?

0 投票
1 回答
2844 浏览

c - 设置中断标志

可以通过代码设置中断标志,如下例所示,还是该行只是一个错误的思考?这只是主要功能。下面这段代码片段是它自己的中断,在代码末尾清除中断标志是否正确和必要?

中断代码 ->

0 投票
1 回答
531 浏览

c - 我必须在一个中禁用中断吗?

如果我在 Microchip C18 上使用多个中断,是否必须在一个内部禁用高中断?

考虑下面的代码:

我应该遵循与下面的代码相同的方法吗?(然后我会将禁用功能放在函数中的适当位置。)

0 投票
2 回答
559 浏览

c - 汇编器到 C 的转换 INCF 和 CPFSLT

这两个代码的意思是一样的吗?

装配工->

C->

如果不是,应该如何翻译 assambler 代码?

亲切的问候 :)

0 投票
2 回答
1163 浏览

assembly - 在 dsPIC33 上保存堆栈上下文会导致:由于未实现的 FLASH 存储器访问而导致的陷阱

我正在尝试保存寄存器的上下文并将堆栈指针存储到 Assembly 中的 C 变量,它可以工作,但是当它到达 return 语句时会引发许多错误和崩溃。

这是代码:

在 MPLAB 中模拟代码时,它可以工作,C 变量被分配堆栈指针的值,但是当它到达 RETURN 时会导致多个错误:

“CORE-E0004:由于未实现的 FLASH 存储器访问而导致的陷阱,从 0xXXXXXX 处的指令发生”错误

我认为这可能与我访问堆栈指针(W15)的方式有关。

有人有什么建议吗?谢谢

0 投票
1 回答
1353 浏览

c - 在宏 C 内部或外部定义函数(高中断)

首先,我为我的 PIC 使用 C18 编译器。当我在没有任何调用的情况下创建像 high_ISR 这样的函数时,我的编译器会向它添加代码,我只能在反汇编列表视图中看到代码。这使我的 high_ISR 函数的周期时间为 160 个周期(但看 C 代码似乎是空的)。

相反,如果我将它定义为一个宏,我将让它没有“秘密”代码。我会以某种方式对其他函数有问题,导致删除我的编译器偷偷放在那里的代码,它会以其他方式应对吗?

我的意思是,我希望 ISR 快速。在 ac 文件中编写函数时,有没有办法让 ISR 函数快速运行,我可以以某种方式抑制“秘密代码”。

请参阅下面的代码示例:

在 .c 文件中正确创建我的 high_ISR 函数,但循环时间很长

例如在我的头文件中创建的宏函数(比如 16 个周期的周期时间)

只是为了澄清,如果我使用宏,我将其实现为:

第一个 highISR 声明产生了这个:

第二个函数只产生这个 ->

进一步澄清只是为了表明它们自己的功能是相同的:对于第一个 rutine ->

标题中的第二个作为宏->

0 投票
3 回答
3336 浏览

c - 将 Fletcher 校验和从 32 位重制为 8 位

这个转换是从原来的吗?

原来的:

len 将是 8。

data 将输入 data[] (1 - 8)

其实我不知道如何处理这条线: unsigned tlen = len > 360 ?360:长度;

也许-> int8_t tlen = len > 255 ?第255章

0 投票
4 回答
1773 浏览

c - 如何在 C 中创建一个 !default 案例

在一个微控制器程序上,我有几条指令,除了默认情况外,我想为开关中的每种情况执行这些指令。但是,我不想为每种情况编写函数调用或使用宏。

因为这是针对以 3-7Mhz 运行的微控制器,所以速度和代码空间很重要。例如:

0 投票
5 回答
419 浏览

c - 为什么在写寄存器时选择一个补码

例如编写第一个语句与第二个语句有什么好处:

第一个声明:

第二个声明:

我认为第二个是我会做出的明确选择,因为它比第一个更直接。为什么要使用 One's Complement 来写我们想要的东西是如此简单。