问题标签 [mikroc]
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 - 图 16F877 中的 PWM 分辨率
这里我使用 pic 16f877 MCU 和 mikroc 进行 pic 编译器来理解 PWM 信号。数据表说这个 MCU 在 PWM 中具有 10 位分辨率。我不明白这个决议是什么意思。这是否意味着如果我用它为电机供电,我可以获得 1024 种不同的速度。这是我在 mikroc 中编写的一个程序,用于逐渐增加 LED 的光并再次减少它。
但这不会给出预期的结果。LED 逐渐闪烁并突然关闭,然后再次逐渐闪烁。但是当我将行更改
while(i != 1023)
为 `while(i != 255) 时,它会给出预期的结果。
所以我想知道 10 位分辨率是什么意思,是我理解错了还是我做错了什么。
请帮忙....
c - 带有 Mikroc pro 仿真的 OSA RTOS
我正在OSA RTOS
用作带有mikroC
编译器的操作系统。编译成功。
但是,当使用ISIS 7.6 SP0
程序进行模拟不起作用时,所以我发布了我的项目代码,有人能帮我找出问题所在吗?
PS:我正在使用PIC18F4550
.
avr - 定时器和溢出中断 MikroC 代码
然后
但这对我不起作用,那是启动计时器 0 及其中断服务程序的正确方法吗?
c - MikroC,绘制折线图
我正在尝试创建一个函数,该函数将在 GLCD 屏幕上的特定窗口内绘制折线图。
假设窗口的 x 轴从像素 24 到 205(从左到右),y 轴从像素 55 到 5(从低到高)。
只要有新数据可用,我只需要图表添加一个新值(或点)。所以我可以在数据收集例程中调用图形刷新。那没问题。
最新的值总是需要添加到图表上最右边的位置,即 205。所以我需要清除那条线并绘制一个新的值/点。也没有问题。
但我不确定的是,如何在刷新时将所有先前的值/点向左移动一个位置(每次在 x 位置 205 上添加一个新值/点),直到它到达窗口的边界,即 22。
任何帮助将不胜感激!
添加:
c - MikroC、dsPIC UART 接收中断问题
我正在通过 UART 与其他设备通信。我通过向设备发送命令来请求某些信息。我正在重复该命令,直到收到可用的答案。
我遇到的问题是,当您处理静态和已知字符串长度时,我使用的 ISR 工作正常。但在这种情况下,我收到的字符串随时可能有不同的长度。取决于例如设备是否有错误。因此,假设前 5 个请求导致错误字符串比预期长度短或长。在尝试 6 时,它确实会生成一个具有预期长度的字符串,(软件)缓冲区似乎以某种方式损坏。字节不在正确的位置,就像一些框架问题。
这就是我现在的 ISR:
以及我在主代码中处理它的方式:
应该如何设置我的代码以更好地处理这种情况?
hardware - MikcoC 硬件中断
我正在尝试使用 mikroC 对 PIC 16F876A 进行编程。当我将按钮按下到某个点时,我需要程序运行,停止并等待再次按下按钮,然后再完成。我读过使用硬件中断是这样做的方法,但不能让我的工作。任何帮助/建议将不胜感激,谢谢。
bluetooth - PIC16F690上的Uart和蓝牙问题
我花了很多时间试图让 UART 与蓝牙模块一起工作。我正在使用 PICkit 2 编程器将代码刻录到PIC16F690。当我使用UART工具时,我可以正确发送和接收数据。我可以回显我正在输入的任何内容。当我将蓝牙模块连接到面包板时,我可以接收从 UART 工具输入到手机的数据。但是,从我的手机输入内容并不会回显。
所以这里是总结
发送和接收在 PICkit 2 编程器提供的 UART 工具上工作
我的手机可以接收来自 UART Tool 的数据。但是从我的手机-> 蓝牙-> PIC 传输不起作用。我有 BC417 蓝牙模块。可能是什么问题呢?
这是我的代码
提前致谢!
c - 使用 pic16f877a 进行太阳跟踪器步进电机仿真
我已经编写了基于时间的双轴太阳跟踪代码。我正在将 lcd 与 pic 16f877a 连接。我偶然发现了一个问题。我在这里发现的问题是,如果我int am1
在输出为 1.0 时编写它(我希望输出显示为 1.8)。这里 1.8 是电机的步距角。如果我写它,因为double am1
我得到一个错误,说运算符不适用于这个操作数。如果我写它是因为long am1
它没有正确旋转,即它旋转 1.8 度,然后在相反方向旋转 3.6*(考虑步距角为 1.8*)
我还有另一个问题。我while
在开头放了 2 个循环while(count2>13)
,while(count2<13)
如果不满足某些条件。现在在while循环之后它应该进入无限循环但是在无限循环中的前2个循环之后for
它似乎从头开始,即while
循环看看有什么问题。我注意到一些事情:如果我删除了第二个while
循环,即while(count2<13)
程序似乎工作正常,反之亦然。如果while
删除了第一个循环并保留了第二个循环,则它可以正常工作。现在,我不知道是什么导致了之前的问题发生。
floating-point - 在 PIC 微控制器的 MikroC 程序中将浮点数转换为字符数组
我试图修改我在互联网上找到的程序,我在这里找到了:
使用 PIC 微控制器连接超声波距离传感器 ASCII 输出
我需要对距离进行一些计算,然后才能将其输出到 LCD 显示器。我成功地将字符串转换为浮点数。它的代码在这里:
如果我添加 stdio,sprintf() 会起作用吗?还是我必须从头开始编写逻辑?或者我可以使用其他一些库函数吗?
c - UART pic18 转 pic18
无法发送字符“C”并显示在接收器图片上。LCD打印一些特殊字符,没有'C'......;(
发射器:
接收者:
Unsing 两张图片 18F26K22,串口新手...不知道如何测试它,因为没有设备,我的代码是好的吗?我没有使用 Proteus,在金属上工作。谢谢。