完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
这是我写的程序
#include __CONFIG(0x3f36); #define uchar unsigned char #define uint unsigned int #define QT RD0 #define ZF RD1 #define DPP RD2 //脉冲 #define DI RC5 #define NUM 103 #define Y_XW RB0//压紧的限位 #define S_XW RB1//伸缩的限位 uchar flag_m=0; uchar flag_y=0;//挤压 uchar flag_s=0;//松 uchar table_R[24]; uchar g; uchar temp; void init(void); void init_usart(void); void init_WDT(void); void init_time(void); void fasong(uchar task_num,uchar zt);//task_num=1压 task_num=0缩 void Delay(uchar i); void maichong(void); void mian() { init(); while(1) { if(flag_s) { flag_s=0; ZF=0; //前进 QT=1; maichong(); fasong(0x04,0x02);//缩回完成 } CLRWDT(); if(flag_y) { flag_y=0; ZF=1; QT=1; maichong(); fasong(0x04,0x01);//挤压完成 } } } void Delay(uchar i) { uchar x,j; for(j=0;j for(x=0;x<=148;x++); } void init_usart() { TRISC=0X9F; PORTC=0X00; TXSTA=0X24; RCSTA=0X90; SPBRG=71; //配置波特率 GIE=1; PEIE=1; RCIE=1; //串口接收中断使 } void init_wdt() { PSA=1; //预分频器分配给WDT使用 PS2=1; PS1=1; PS0=1; //预分频器128分频 } void init_time( ) { T1CON=1; TMR1IF=0; TMR1IE=1; TMR1H=0xFE; TMR1L=0xEB; } void init() { init_WDT(); init_usart(); DI=0;//接收模式 } void fasong(uchar task_num,uchar zt) { table_R[1]=NUM; table_R[2]=0x00; table_R[3]=zt; table_R[4]=task_num; DI=1; for(uchar j=0;j<24;j++) { TXREG=table_R[j]; while(!TRMT); } DI=0; } void maichong() { init_time(); if(flag_m) { flag_m=0; DPP=1; DPP=0; } if(Y_XW == 0) //控制停 { Delay(15); if(Y_XW == 0) { while(!Y_XW); TMR1IE=0; QT=0; } } } void interrupt com() { if(TMR1IE&&TMR1IF) { TMR1IF=0; TMR1H=0xFE; TMR1L=0xEB; //每100us中断一次 flag_m=1; } if(RCIF&&RCIE) { if(FERR||OERR){CREN=0;CREN=1;} temp=RCREG; for(g=0;g<=22;g++) //以队列的方式将接受的数据传入数组 先进先出 后进后出 { table_R[g]=table_R[g+1]; } table_R[23]=temp; if((table_R[0]==0xbb)&&(table_R[23]==0xee))//过滤接收数据 { if((table_R[1]==0x00)&&(table_R[2]==NUM)&&(table_R[3]==0x01)&&(table_R[4]==0x01)) { flag_y=1;//压 } if((table_R[1]==0x00)&&(table_R[2]==NUM)&&(table_R[3]==0x01)&&(table_R[4]==0x02)) { flag_s=1;//缩 } } } } 最后报错(看截图) 困扰我两天了,在线等谢谢啦各位!!!!
|
|
相关推荐
11个回答
|
|
MAIN函数没定义 要么放最后面 要么在最前面声明一下
最佳答案
|
|
|
|
已经换过 两次编译器 还是无果!
|
|
|
|
把MAIN函数放到走后门
|
|
|
|
谢谢您 ,我的问题找到了 刚才您一提醒 ,我观察了一下我的main函数 我把main拼错了 拼成了mian 我自己都笑了 找了两天的错误 呵呵哒! 最后谢谢您! |
|
|
|
建议楼主再贴代码的会应该使用论坛的代码编辑窗口,看着比较养眼
|
|
|
|
左云龙 发表于 2015-9-21 10:51 原来是这样 看来我的眼神也不好啦 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2076 浏览 1 评论
3486 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2329 浏览 2 评论
2754 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4012 浏览 5 评论
956浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6343浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 12:04 , Processed in 0.873782 second(s), Total 119, Slave 102 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号