问题标签 [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.
pic - MPLAB 上的 LED 闪烁不工作?
我正在使用 MPLAB 对我的新微芯片板进行编程并使用 pickit3 对其进行编程
代码:
这段代码没有做任何事情,它在高科技 C 编译器上完美编译,但没有按预期运行,也许问题出在配置位上?知道如何解决这个问题吗?
bluetooth - TI芯片CC2540可以用于手机蓝牙接入吗?
我想用Ti芯片cc2540和手机通信。我对这种芯片不熟悉。””我找到的是这个:http : //cn.mouser.com/ticc2540/ 上面写着“Texas Instruments CC2540 2.4 GHz Bluetooth® SoC”“手机配件”。
有人用这个芯片做过什么吗?
如果不能,还有什么芯片可以通过蓝牙与手机通信?
c - 设置中断标志
可以通过代码设置中断标志,如下例所示,还是该行只是一个错误的思考?这只是主要功能。下面这段代码片段是它自己的中断,在代码末尾清除中断标志是否正确和必要?
中断代码 ->
c - 我必须在一个中禁用中断吗?
如果我在 Microchip C18 上使用多个中断,是否必须在一个内部禁用高中断?
考虑下面的代码:
我应该遵循与下面的代码相同的方法吗?(然后我会将禁用功能放在函数中的适当位置。)
c - 汇编器到 C 的转换 INCF 和 CPFSLT
这两个代码的意思是一样的吗?
装配工->
C->
如果不是,应该如何翻译 assambler 代码?
亲切的问候 :)
assembly - 在 dsPIC33 上保存堆栈上下文会导致:由于未实现的 FLASH 存储器访问而导致的陷阱
我正在尝试保存寄存器的上下文并将堆栈指针存储到 Assembly 中的 C 变量,它可以工作,但是当它到达 return 语句时会引发许多错误和崩溃。
这是代码:
在 MPLAB 中模拟代码时,它可以工作,C 变量被分配堆栈指针的值,但是当它到达 RETURN 时会导致多个错误:
“CORE-E0004:由于未实现的 FLASH 存储器访问而导致的陷阱,从 0xXXXXXX 处的指令发生”错误
我认为这可能与我访问堆栈指针(W15)的方式有关。
有人有什么建议吗?谢谢
c - 在宏 C 内部或外部定义函数(高中断)
首先,我为我的 PIC 使用 C18 编译器。当我在没有任何调用的情况下创建像 high_ISR 这样的函数时,我的编译器会向它添加代码,我只能在反汇编列表视图中看到代码。这使我的 high_ISR 函数的周期时间为 160 个周期(但看 C 代码似乎是空的)。
相反,如果我将它定义为一个宏,我将让它没有“秘密”代码。我会以某种方式对其他函数有问题,导致删除我的编译器偷偷放在那里的代码,它会以其他方式应对吗?
我的意思是,我希望 ISR 快速。在 ac 文件中编写函数时,有没有办法让 ISR 函数快速运行,我可以以某种方式抑制“秘密代码”。
请参阅下面的代码示例:
在 .c 文件中正确创建我的 high_ISR 函数,但循环时间很长
例如在我的头文件中创建的宏函数(比如 16 个周期的周期时间)
只是为了澄清,如果我使用宏,我将其实现为:
第一个 highISR 声明产生了这个:
第二个函数只产生这个 ->
进一步澄清只是为了表明它们自己的功能是相同的:对于第一个 rutine ->
标题中的第二个作为宏->
c - 将 Fletcher 校验和从 32 位重制为 8 位
这个转换是从原来的吗?
原来的:
len 将是 8。
data 将输入 data[] (1 - 8)
其实我不知道如何处理这条线: unsigned tlen = len > 360 ?360:长度;
也许-> int8_t tlen = len > 255 ?第255章
c - 如何在 C 中创建一个 !default 案例
在一个微控制器程序上,我有几条指令,除了默认情况外,我想为开关中的每种情况执行这些指令。但是,我不想为每种情况编写函数调用或使用宏。
因为这是针对以 3-7Mhz 运行的微控制器,所以速度和代码空间很重要。例如:
c - 为什么在写寄存器时选择一个补码
例如编写第一个语句与第二个语句有什么好处:
第一个声明:
第二个声明:
我认为第二个是我会做出的明确选择,因为它比第一个更直接。为什么要使用 One's Complement 来写我们想要的东西是如此简单。