資源簡介
VxWorks串口編程代碼:包括串口的配置,讀寫操作,以及任務(wù)量的啟動。
代碼片段和文件信息
#include?“vxWorks.h“
#include?“sioLib.h“
#include?“intLib.h“
#include?“taskLib.h“
#include?“errno.h“
#include?“time.h“
#include?“timers.h“
#include?“stdio.h“
#include?“stat.h“
#include?“cacheLib.h“
#include?“string.h“
#include?“iv.h“
#include?“semLib.h“
#include?“intLib.h“
#include?“l(fā)ogLib.h“
#include?“ioLib.h“
#include?“drv/serial/pcConsole.h“
#include?“sioLib.h“
#include?“rtc.h“
#include?“s3c2410.h“
#define?BUFLEN?16
void?setBaud(int?deviceint?baud)
{
? ioctl(deviceSIO_BAUD_SETbaud);?
}
/*parity=PARENB:??EVEN??parity?;
???parity=PARODD:?ODD??parity;
???parity==0?????????:?NO?????parity;
*/
void?setOption(int?deviceint?databitint?stopbitint?parity)
{
?? unsigned?int??option;
?? unsigned?char?data;
??
?? switch?(databit)?{
????? case?5:
????????????? data=CS5;
????????????? break;
????? case?6:
????? ?????? data=CS6;
????? ?????? break;
????? case?7:
????? ?????? data=CS7;
????? ?????? break;
????? case?8:
????????????? data=CS8;
????????????? break;
??? default:
??? ????? printf(“error?stopbit\n“);
??? ????? break;
?? }
?? ioctl(deviceSIO_HW_OPTS_GET(int)&option);
??
option&=~CSIZE;
?? option|=data;
?? option&=~STOPB;
?? if(stopbit==2)
?????? option|=STOPB;
??
?? option&=~(PARENB|PARODD);
?? if?(parity==PARENB)
?? option|=PARENB;
?? if?(parity==PARODD)?
?? option|=PARODD;??
?
?? ioctl(deviceSIO_HW_OPTS_SEToption);
}?
#ifdef?__cplusplus
extern?“C“?{
#endif
/*串口發(fā)送函數(shù)*/
int?tty_send(int?snum)
{
int?fd;
int?bytes_out;
char?b
評論
共有 條評論