‘壹’ c语言,怎么输入数字信号源
#inlcude<avr/io.h>
main()
{
int i;
PORTA=0x00;
DDRA=0x00;
while(1)i=PINA&0x01;
}
i的值 就是你输出的 数字信号 ,,, 不过 得看 你 是什么源 ,呵呵 这个不能用的 只是演示;
‘贰’ 计算机怎么将信号传输给机械手,就是计算机输出给机械手的信号接口,急用
机械手都有专业的通讯接口,计算机(电脑)也都有232的接口,关键是要有专业的通讯软件(要不自己用C语言写??),然后才能通过电脑控制机械手(各品牌的机械手都有专用的控制软件,这个你可以找机械手的供应商或生产厂家要求他们提供或购买)。
‘叁’ 通过c语言实现手机给电脑发送信号指令
你看看linux 网络编程试试 我觉的你应该还是在linux上建立一个服务器用来解析通过网络发来的命令,起先你应该用一个可以用c语言为主体的可以调用硬件操作的代码 用服务器来解析执行你要的操作,在你的linux主机上可以通过路由器等连入Internet 你通过c/s架构通过一台电脑或是手机来访问linux服务器 这个client可以是一个php网页 通过socket与操作运行的代码交互
‘肆’ C语言中信号问题
信号是程序执行过程中出现的异常情况。它可能是由程序中的错误造成的,例如引用内存中的一个非法地址;或者是由程序数据中的错误造成的,例如浮点数被0除;或者是由外部事件引发的,例如用户按了Ctrl+Break键。
你可以利用标准库函数signal()指定要对这些异常情况采取的处理措施(实施处理措施的函数被称为“信号处理函数”)。signal()的原型为:
#include <signal.h>
void(*signal(int hum,void(*func)(int)))(int);
如果定义一个typedef,理解起来就容易一些了。下面给出的sigHandler_t类型是指向一个程序的指针,该函数有一个int类型的参数,并且返回一个void类型:
typedef void(*sigHandler_t)(int);
sigHandler_t signal(int num , sigHandler_t func);
signal()有两个参数,分别为int类型和sigHandler_t类型,其返回值为sigHandler_t类型。以func参数形式传递给signal()的那个函数将成为第num号异常情况的新的信号处理函数。signal()的返回值是信号hum原来的信号处理函数。在设置了一个暂时的信号处理函数之后,你可以利用该值恢复程序先前的行为。num的可能值依赖于系统,并且在signal.h中列出。func的可能值可以是你的程序中的任意函数,或者是SIG_DFL和SLG_IGN这两个特别定义的值之一。SIG_DFL是指系统的缺省处理措施,通常是暂停执行程序;SIG_IGN表示信号将被忽略。
‘伍’ C语言信号处理程序
#include<signal.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
voidmy_func(intsign_no)
{
if(sign_no==SIGINT)
printf("IhavegetSIGINT ");
elseif(sign_no==SIGTERM)
printf("IhavegetSIGQUIT ");
}
intmain()
{
printf(" ");
printf("processis%d ",getpid());
signal(SIGINT,my_func);
signal(SIGTERM,my_func);
while(1);
exit(0);
}
linux 平台就 用while阻塞就行
不知道你用的是什么平台?
‘陆’ 用c语言编程,我想采集发动机的压力信号,请教一下程序应该怎么写呀有没有相应的库函数
什么发动机的压力?你总得说明传感器及AD器件用的是什么吧,还有单片机是什么型号。
这个属于模拟量采集吧,一般的电路结构是:待测信号—>传感器—>放大调理电路—>AD—>单片机。单片机与ADC连接,读取AD转换的值,然后根据参考电压和放大倍数计算出实际的模拟量的大小。这个没有库函数,有些现成的AD采集的列程可以参考。
‘柒’ 我想用C语言和PLC去编程,从而对一些工业上的机械设备进行控制。但我现在对C语言一窍不通。我应该怎么学
c和plc没有关系。c语言有很多应用领域,你应该学的是嵌入式的编程。
主要涉及的是单片机。
可以先学一下谭浩强的c语言程序设计,然后学单片机,再然后学嵌入式linux或者wince。
不清楚现在plc的领域怎么样,是否赚钱,你给我介绍一下?
‘捌’ 用c语言编写控制电机运动的程序
1、有三个输入,分别是一个按钮、两个霍尔传感器(也就是接近开关),我用P0.0到P0.2来代替;输出2个或以上(这看接什么显示器,如果是PC的话,就不用数字量输出,直接串口就可以了)控制正反转的继电器管脚用P1.0、P1.1;需要与一个全局变量转动次数k连接起来,另外两个输入接近开关选用NPN传感器或用光电隔离,总之有效信号能把管脚电压拉低就可以。
2、例程:
#include<reg51.h>//选用晶振11.0592MHz
unsignedchark=0;//k表示正反转次数
sbitX0=P3^2;//调节按钮
sbitX1=P1^1;//上限位接近开关信号
sbitX2=P1^2;//下限位接近开关信号
sbitY1=P0^0;//电机上升(注意:我使用的是管脚输出为0时候,电机运动,这样可以避免启动时候,单片机自复位对电机点动的影响)
sbitY2=P0^1;//电机下降
voiddelay50ms(unsignedinti)
{
unsignedintj;
for(i;i>0;i--)
for(j=46078;j>0;j--);
}
main()
{
IT0=1;//下降沿触发
EX0=1;//开P3.2外部中断
EA=1;//总中断开
while(1)
while(k)
{
Y1=0;//正转
while(X1==1);//等待正转接近开关反应
Y1=1;//正转停
delay50ms(1);//停止时间50ms
Y2=0;//反转
while(X2==1);//等待反转接近开关反应
Y2=1;//反转停
k--;//圈数减一
}
}
voidcounter0(void)interrupt0
{
k++;//外部中断控制圈数加一
//这个位置可以加你显示程序
}
‘玖’ C语言控制步进电机
我之前做过一个,步进电机模拟电梯运行的控制程序,是那种发一个信号走一步的那种,步进角比较大,好像是15度左右,我当时的做法就是加入系统延时,让程序给步进电机发送信号,通过控制延时来决定单位时间内步进电机转动的次数
我用的是永磁式步进电机,不知道你用的是什么样的,我使用的这种,步进角比较大,步进电机都是一步步转的,转快了就看不出步进电机是一步步转了
而当是步进电机正转是按这样的顺序发送信号,abcd,反转是dcba
转多少圈,就是循环给步进电机发送信号,使用程序控制发送信号的次数,至于怎么控制只要知道接口函数什么的还是不难的。
如果还是不大明白,我倒是可以帮你看看程序