问题标签 [xc8]

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 投票
1 回答
3249 浏览

pic - XC8 中断配置

我正在尝试为 pic16f887 编写定时器中断。我检查了几个网站,其中大多数建议将中断子程序编写为

无效中断名称(无效)

但是我的程序说这样做会使我的中断名称与 Isr 发生冲突。main.c:42: 错误: (1375) 为只有一个中断向量的设备定义了多个中断函数(_led 和 _isr)

这是我的代码示例。

0 投票
2 回答
3700 浏览

c - 将 uint8_t 转换为 int8_t

使用 Microchip XC8 我有一个构造

我希望测试为-13(oxFFF3),因为我使用了带符号的数字,但它被计算为0xF3。

为什么?

编辑:尝试使用 gcc,结果是我所期望的。

0 投票
1 回答
685 浏览

c - xc8 警告:var 的初始值不同

我遇到了编译器警告:

对应的 version.h 文件如下所示:

用法:

主.c:

其他文件.c:

到目前为止,这是描述性的和明确的。我认为问题在于 const char 字符串是在头文件中定义的,该头文件包含在多个源代码文件中。所以编译器看到不止一个“svn_string_revision”变量并将其视为重新声明。但通常该值应始终相同。我的 version.h 文件是一个自动生成的文件,它会在每次构建之前重新生成。

以前有人遇到过这种情况,我该如何处理?干净的方法是使用带有 version.c 的 version.h 文件,其中标头声明

和来源

但这需要我重写我想避免的自动代码生成。

长话短说,我的问题是:

  • 我对警告的理解是否正确?
  • 鉴于我不想将 version.h 拆分为 .c 和 .h 文件,我该如何优雅地避免这些警告
0 投票
4 回答
2357 浏览

c - 将单个整数与C中的整数数组进行比较?

如何使用 C 语言将一个整数与一个由十个整数组成的数组进行比较,以找出单个整数是否包含在数组中?如果原始问题不清楚,我深表歉意,而滑动等于我想输出 PORTD=0b10000000 的数组中的任何数字。谢谢!

这似乎已经解决了......感谢您的所有帮助!

0 投票
1 回答
837 浏览

pic - 为什么这个程序可以在 PORTB 中运行,但在 PORTA (MPLAB XC8) 中却不能运行?

这是一个在 XC8 (Microchip) 中打开/关闭 LED 的简单程序:

1)此代码工作:

交换机连接到端口 b RB0

2)此代码不起作用:

交换机连接到端口 RA0

为什么我可以在 led 如果我得到端口 B 但不在端口 A 中?

此致。

0 投票
1 回答
454 浏览

microchip - 是否有任何仅使用“XC8”编译器为 PIC18F14K50 预先构建的示例代码库

我想使用 PIC18F14K50 创建一个 USB 接口。我有使用 c18 编译器的源代码,但我想使用 XC8 (v1.37) 编译器更新我的固件。我正在使用 MPLAB X 3.25。尽管 C 编译器给了我很好的结果,但我想让我的固件向前兼容。

0 投票
3 回答
889 浏览

c - 将指针传递给结构数组

这是针对 MPLABXC8 编译器的,我已经研究并发现了许多相关主题。但无法解决我的问题。我的数组类型定义

现在我的变量

现在我将指针传递给我的函数

下面是功能

只有第 0 个元素是可访问的。编译器还抱怨结构指针传递给结构数组指针。我尝试在函数中添加指针。它似乎增加了整个 Array 指针。在我看来,这&CurOperPlan只是指向第 0 个索引结构的地址指针。整个数组不包含它。请帮忙。

0 投票
1 回答
2127 浏览

c - Microchip XC8 警告“转换为更短的数据类型”和“有符号到无符号的隐式转换”

我正在为 PIC18F2420 使用带有 xc8 1.35 编译器的 MPLABX 3.20,我有两个我不明白的奇怪警告:

这是生成警告的源代码之一

这是我使用的结构引脚:

此代码用于提供一种使用引脚的简单方法

我有以下警告:

Pin.c:13:警告:(373)隐式有符号到无符号转换

Pin.c:17:警告:(373)隐式有符号到无符号转换

...

Pin.c:17:警告:(752)转换为更短的数据类型

这两个值都是 unsigned char 那么为什么我会有这些警告?

0 投票
0 回答
188 浏览

microcontroller - 写入 PORT 不会改变其状态

我有以下程序 - 在 MPLAB 上使用 XC8 C 编译器,微控制器是 PIC16F877。

我将 LED 连接到 PORTB 的输出引脚。但是没有闪烁。

但是,当我在单个引脚上执行此操作时,它可以完美运行:例如:

我究竟做错了什么?

0 投票
0 回答
1533 浏览

c - XC8 错误未定义符号

我已经完成了已经提出的问题,但似乎找不到与此相关的任何问题。

我正在尝试在我的 PIC18F8722 上使用定时器中断并继续给出错误:

BUILD FAILED(退出值2,总时间:1s)

不知道出了什么问题,因为它没有给出明确的解决方案,并且它在我编写的第二个程序上运行良好,该程序运行一个 pwm,它在同一系统上使用相同的计时器和编译器。

任何帮助将非常感激。这是代码