這是關於ip-link 1220 晶片是8051 我目前就寫到這樣可以連結 (C)我已經寫好連結電腦,誰可以教我寫rs-232讀資料跟送資料 - 趣味新聞網
發表日期 2009-05-01T11:54:32+08:00
趣味新聞網記者特別報導 : 這是關於ip-link 1220 晶片是8051,我目前就寫到這樣可以連結,但是不知道怎麼讀和送資料請各位前輩幫幫忙,幫我看一下,我用的是C>"<#include #include #define C .....
本帖最後由 風箏惡魔 於 2009-5-2 11:20 編輯
這是關於ip-link 1220 晶片是8051,
我目前就寫到這樣可以連結,但是不知道怎麼讀和送資料
請各位前輩幫幫忙,幫我看一下,我用的是C>"<
#include <stdio.h>
#include <stdlib.h>
#define ControlHeader 0
#define LinkQualityIndicator 1
#define DestinationAddress 2
#define PayloadLength 4
#define Payload 5
int Checksum;
FILE *ZigBee;
unsigned char sBuf[104], rBuf[104];
const unsigned char CRequest = 128;
const unsigned char CResponse = 192;
const unsigned char DRequest = 160;
const unsigned char DResponse = 224;
int ZigBeeInit(int comNum, int channel, int isClient, unsigned short netNodeID, unsigned short netID)
{
char sCOM[5] = "COM3";
char *master = "master", *client = "client";
char *nodeType;
unsigned char xorSum;
int sequence, i, n;
sCOM[3] = comNum + '0'; sCOM[4] = 0;
if((ZigBee = fopen(sCOM, "r+")) == NULL){
fprintf(stderr, "Can't open %s !
", sCOM);
exit(1);
}
sequence = 1;
sBuf[ControlHeader] = CRequest + sequence%16;
sBuf[LinkQualityIndicator] = 0;
sBuf[DestinationAddress] = 0x00;
sBuf[DestinationAddress+1] = 0x00;
sBuf[PayloadLength] = 0x03;
sBuf[Payload] = 0x8f;
//sBuf[Payload+1] = 0x70;
//sBuf[Payload+2] = 0;
Checksum = Payload + PayloadLength;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
if(rBuf[Payload+1] == 0){
fprintf(stdout,"ZigBee sending power is set to max!
");
}
sBuf[Payload+1] = 0x72;
sBuf[Payload+2] = (unsigned char) channel;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
if(rBuf[Payload+1] == 0){
fprintf(stdout,"ZigBee RF channel is set to %d!
", channel);
}
sBuf[Payload+1] = 0x96;
sBuf[Payload+2] = (unsigned char) (isClient==0)?0:1;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
if(rBuf[Payload+1] == 0){
nodeType = (isClient==0)?master:client;
fprintf(stdout,"ZigBee is set to %s!
", nodeType);
}
sBuf[Payload+1] = 0x99;
sBuf[Payload+2] = (unsigned char) 1;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0x9A;
sBuf[Payload+2] = (unsigned char) 1;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0x9e;
sBuf[Payload+2] = (unsigned char) 0;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0x9f;
sBuf[Payload+2] = (unsigned char) 0xff;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xa0;
sBuf[Payload+2] = (unsigned char) 0x62;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xb4;
sBuf[Payload+2] = (unsigned char) 1;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xb5;
sBuf[Payload+2] = (unsigned char) 1;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xb7;
sBuf[Payload+2] = (unsigned char) 0;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xbc;
sBuf[Payload+2] = (unsigned char) netNodeID >> 8;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xbd;
sBuf[Payload+2] = (unsigned char) (netNodeID << 8)>> 8;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xbe;
sBuf[Payload+2] = (unsigned char) netID >> 8;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xbf;
sBuf[Payload+2] = (unsigned char) (netID << 8)>> 8;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xc0;
sBuf[Payload+2] = (unsigned char) netNodeID >> 8;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
sBuf[Payload+1] = 0xc1;
sBuf[Payload+2] = (unsigned char) (netNodeID << 8)>> 8;
for(xorSum = sBuf[0], i=1; i<Checksum; i++) xorSum ^=sBuf
;
sBuf[Checksum] = xorSum;
if((n = fwrite(sBuf, Checksum + 1, Checksum + 1, ZigBee))!=(Checksum+1)){
fprintf(stderr, "Can't write to Zigbee
");
exit(2);
}
if((n = fread(rBuf, 104, 104, ZigBee))==0){
fprintf(stderr, "Can't read from ZigBee!");
exit(3);
}
}
//接收資料
void accecpter() {
int n, i;
while((n = fread(rBuf,104,104,ZigBee))==0);
for(i=0;i<104;i++)fprintf(stdout,"%2x ",rBuf
);fprintf(stdout,"
");
}
int main(int argc, char *argv[])
{
ZigBeeInit(4,1,1,1,1);
system("PAUSE");
return 0;
}
|
分享鏈接
大大的用法比较偏向纯C
不知道大大有没有试用过
CreateFile的方式来开启COM port呢
记得CreateFile之后只要对COM port
使用FileRead及FileWrite就可以读写了
剩下的就是事件流程的控制 |
本帖最后由 Andy95 于 2009-5-4 13:48 编辑 Send Data
int seqNo = 0;
int sendTo(FILE *ZigBee, unsigned short NodeID, char *theData)
{
int i, retCode;
sBuf[ControlHeader] = 0xA0+(seqNo++)%16;
sBuf[LQI] = 0xFF;
sBuf[DestinationAddress] = NodeID>>8; sBuf[DestinationAddress+1] = NodeID%0x10000;
for(i=0; i<=97; i++) if(theData == 0) break;
sBuf[PayloadLength] = i;
for(i=0; i<=sBuf[PayloadLength]-1; i++)sBuf[Payload+i] = theData;
int XORChecksum = 0;
for(i=0; i<sBuf[sBuf[PayloadLength]]; i++) XORChecksum ^= sBuf;
sBuf[sBuf[PayloadLength]+5] = XORChecksum;
(sBuf, 1, sBuf[PayloadLength]+5, ZigBee);
if(fread(rBuf,1,8,ZigBee) == 0){
fprintf(stderr, "read from zigbee error!
");
exit(1);
}
return (retCode = rBuf[5]*(2<<8) + rBuf[6]);
}
==================================================
Received Data
char* receive(FILE *ZigBee, char *theData)
{
int n, i;
while((n = fread(theData,1,104,ZigBee))==0);
for(i=0;i<104;i++)fprintf(stdout,"%2x ",*(theData+i));fprintf(stdout,"
");
return theData;
}
....
......
int main(int argc, char *argv[])
{
char theData[200];
ZigBeeInit(5,0,1,atoi(argv[1]),1);
送端送资料~~
if(sendTo(ZigBee, 0xffff, "12345") == 0){
fprintf(stdout, "I have sent it
");
}
=========
收端收资料~~
fprintf(stdout, "Now ready to receive!
");
if(theData == receive(ZigBee, theData)){
fprintf(stdout, "I have receice!
");
}
system("PAUSE");
return 0;
}
各位大大~我写这样有错吗?
为什么还是收不到资料>"<
我是用IP-LINK1220 zigbee~无线传输资料 |
这个部分我是建议你先做硬体上的测试看看是否正常
你可以先使用超级终端机测试看看硬体是否正确
再考虑程式码的问题 |
本帖最后由 cmdunlop 于 2009-10-7 14:52 编辑 - //8051
- #include <reg52.h>
#include <string.h>
#include <intrins.h> - #define uchar unsigned char
#define uint unsigned int - void serial_init()
{
/* 9600,n,8,1,外部晶振11.0592MHz,查询模式 */ - TMOD = 0x20; // 定时器T1使用工作模式2
TH1 = 250;
TL1 = 250;
TR1 = 1; // 开始计时
PCON = 0x80; // SMOD = 1
SCON = 0x50; // 工作模式1,波特率9600kbit/s,允许接收
} - void sendByte()
{
TI = 0; // 清发送标志位
while(!TI); // 等待发送完成
} - void main()
{ - uchar *tmp = 0;
serial_init() ;
//ADCRD = 1 ;
EX0 = 1; // 打开外部中断0- RI = 0;
while(!RI);
*tmp = SBUF;
while(1);
}
复制代码
|
以上是8051对RS232写法
while(!RI);就是在读取
*tmp = SBUF;读取完成后写入SBUF
以上是不完善的程式码
但是也可以应付你所需要的
内容有些Bug
请自行处理
靠仔细看妳应该是电脑端的程式并非是8051的程式
抱歉~没注意到~ |
大大的用法比较偏向纯C
不知道大大有没有试用过
CreateFile的方式来开启COM port呢
记得CreateFile之后只要对COM port
使用FileRead及FileWrite就可以读写了
剩下的就是事件流程的控制 |
本帖最后由 Andy95 于 2009-5-4 13:48 编辑 Send Data
int seqNo = 0;
int sendTo(FILE *ZigBee, unsigned short NodeID, char *theData)
{
int i, retCode;
sBuf[ControlHeader] = 0xA0+(seqNo++)%16;
sBuf[LQI] = 0xFF;
sBuf[DestinationAddress] = NodeID>>8; sBuf[DestinationAddress+1] = NodeID%0x10000;
for(i=0; i<=97; i++) if(theData == 0) break;
sBuf[PayloadLength] = i;
for(i=0; i<=sBuf[PayloadLength]-1; i++)sBuf[Payload+i] = theData;
int XORChecksum = 0;
for(i=0; i<sBuf[sBuf[PayloadLength]]; i++) XORChecksum ^= sBuf;
sBuf[sBuf[PayloadLength]+5] = XORChecksum;
(sBuf, 1, sBuf[PayloadLength]+5, ZigBee);
if(fread(rBuf,1,8,ZigBee) == 0){
fprintf(stderr, "read from zigbee error!
");
exit(1);
}
return (retCode = rBuf[5]*(2<<8) + rBuf[6]);
}
==================================================
Received Data
char* receive(FILE *ZigBee, char *theData)
{
int n, i;
while((n = fread(theData,1,104,ZigBee))==0);
for(i=0;i<104;i++)fprintf(stdout,"%2x ",*(theData+i));fprintf(stdout,"
");
return theData;
}
....
......
int main(int argc, char *argv[])
{
char theData[200];
ZigBeeInit(5,0,1,atoi(argv[1]),1);
送端送资料~~
if(sendTo(ZigBee, 0xffff, "12345") == 0){
fprintf(stdout, "I have sent it
");
}
=========
收端收资料~~
fprintf(stdout, "Now ready to receive!
");
if(theData == receive(ZigBee, theData)){
fprintf(stdout, "I have receice!
");
}
system("PAUSE");
return 0;
}
各位大大~我写这样有错吗?
为什么还是收不到资料>"<
我是用IP-LINK1220 zigbee~无线传输资料 |
这个部分我是建议你先做硬体上的测试看看是否正常
你可以先使用超级终端机测试看看硬体是否正确
再考虑程式码的问题 |
本帖最后由 cmdunlop 于 2009-10-7 14:52 编辑 - //8051
- #include <reg52.h>
#include <string.h>
#include <intrins.h> - #define uchar unsigned char
#define uint unsigned int - void serial_init()
{
/* 9600,n,8,1,外部晶振11.0592MHz,查询模式 */ - TMOD = 0x20; // 定时器T1使用工作模式2
TH1 = 250;
TL1 = 250;
TR1 = 1; // 开始计时
PCON = 0x80; // SMOD = 1
SCON = 0x50; // 工作模式1,波特率9600kbit/s,允许接收
} - void sendByte()
{
TI = 0; // 清发送标志位
while(!TI); // 等待发送完成
} - void main()
{ - uchar *tmp = 0;
serial_init() ;
//ADCRD = 1 ;
EX0 = 1; // 打开外部中断0- RI = 0;
while(!RI);
*tmp = SBUF;
while(1);
}
复制代码
|
以上是8051对RS232写法
while(!RI);就是在读取
*tmp = SBUF;读取完成后写入SBUF
以上是不完善的程式码
但是也可以应付你所需要的
内容有些Bug
请自行处理
靠仔细看妳应该是电脑端的程式并非是8051的程式
抱歉~没注意到~ |
tag
相关新聞
(C)編程PIC18F2520微控製器
本帖最後由 風箏惡魔 於 2009-4-14 23:04 編輯 Hi, anyone know how to use C programming language to program the PIC18F2520 microcontroller by Microchip?
Currently i am doing a school project. So maybe can provide a simple program on how to generate an output .......
(C)關於C語言 程式設計-亂數發牌
本帖最後由 風箏惡魔 於 2009-5-22 15:30 編輯 作業做到一半遇到瞭問題,
不知道有哪些好心的大大幫個忙,
讓我順利完成作業並繳交齣去吧!
這部份的內容我在AL8發過瞭,
不過似乎沒有得到什麼迴應,
希望能把這問題解決,
解決後會將這篇刪除,
希望知道該如何修改的大大幫個忙,
在此先說聲謝謝囉! /*寫一發牌程式,隨機産生一組牌麵,將4人牌麵顯示在螢幕上,並將牌麵歸類整理。最後詢問「是否要洗牌,再發一次?」*/ #include <stdio.h> #in.......
(C++) PCI-如何讓點矩陣同步
本帖最後由 tom78310 於 2009-5-6 07:38 編輯 想問的是
我如果要讓16*16點矩陣的第4排跟第10排一起亮
兩個是執行不同內容
這樣怎麼寫??
PS.用C++寫的
我已經把兩邊的都寫好瞭
也都可以分彆進行
但是一到瞭要"一起"的時候
就會互相影響瞭 風箏惡魔:
最好能說說您的想法
讓大傢看看是卡在哪邊喔
說不定隻差臨門一腳 .......
(C/C++) 8051的問題
本帖最後由 風箏惡魔 於 2009-3-24 08:51 編輯 小弟是8051的初學者
目前遇到一個問題,寫齣來的程式沒Bug,經編譯燒入之後卻還是不能跑
先講一下我的材料和動作,再PO程式
材料:一顆AT89C51,二個按壓關關,一個八位元指撥開關,二顆共陽七段
八位元指撥接在P3,1~8腳分彆接在P3.0~P3.7
指撥1~4腳前四位元作十位數,0000~1001,由接在P1的共陽七段顯示,不超過9
指撥5~7腳作四位元作個位數,0000~1001,由接在P2的共陽七段顯.......
(C/C++) C/C++語言做成視窗化的程式
本帖最後由 tenko 於 2009-3-5 23:15 編輯 想請教大大們,就是我的程式要怎麼纔能把它裝飾成視窗要執行有按鈕有顯示的程式呢!? 有需要哪些軟體呢!? 謝謝各位大大
{不好意思~標題格式是這樣嘛!? 還是錯誤的話就請大大幫我把這帖刪除好瞭!} 風箏惡魔:確認OK瞭,以後及得要先看版規捏..........
(C/C++) 一執行EXE檔就會很快的消失
本帖最後由 風箏惡魔 於 2009-3-9 06:18 編輯 #include <iostream.h>
int main(void)
{
double double1, double2, double3, sum;//定義三個變數和得解
cout << "Enter initial velocity (V0): " ;//請輸入者輸入初速度
cin >> double1;//定義此為變數1
cout << .......
(C/C++) 如何建造一個大型矩陣
本帖最後由 風箏惡魔 於 2009-4-1 23:15 編輯 以下是個簡單的例子,假設我有三個矩陣,分彆如下
B = [-4 1 0 0 ;
1 .......
(C/C++)Switch-Case的Scanf問題
本帖最後由 風箏惡魔 於 2009-7-12 20:14 編輯 最近開始自學C語言
然後常常自己想例子練習
但是 卡在選擇性敘述那
就像這個
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int c,f;
char s;
printf("請選擇欲轉換單位:
");
printf("(A)攝氏轉華氏
");
printf("(B)華氏轉攝氏
");
.......
(C/C++)關於結構,檔案處理,函數,字串,陣列的問題
本帖最後由 義智 於 2009-6-22 23:56 編輯 問題一:
某班學生有60人, 請寫一程式能達成底下功能:
(a). 從鍵盤一個字,一個字讀入每位學生的名字(長度不超過20字元),以大寫Q 作為離開辨識字元,以ENTER(13) 作為完成輸入每一位學生名字的辨識字元.
(b). 將題(a) 學生的名字儲存在陣列 name.
(c). 當輸入大寫Q時, 將name陣列的值顯示在螢幕.
(d). 將name陣列的值, 以文字模式寫到檔案 name.txt.
(e). 從.......
(Fortran95)有關設計程式判斷閏年的問題
本帖最後由 風箏惡魔 於 2009-4-6 12:22 編輯 小弟我正在使用Fortran95在寫程式,因為學校老師說,編輯器有很多種
隻要精通其中一種,其他種類的編輯器也都大同小異
如標題,當輸入一個年份時,是否是閏年,可依據下列規則來判斷
(1) 4的倍數是閏年
(2) 100的倍數非潤年
(3) 400的倍數是閏年
例題1:2008年是否是閏年
mod(2008,4)=0 所以2008年是閏年
例題2:2000年是否是閏年
mod(2100,4)=0 但是 m.......
(HTML/ASP)如何設計 成績預警係統網頁
請問有大大可以提供
一下如何基本的設計
成績預警係統網頁嗎?
大概的意思是
老師在網頁上key入學生成績
之後網頁會自動顯示哪些學生為達到60分及格
然後老師可以按一個物件
將寄發一封e-mail給傢長
告知傢長學生在校成績不及格
.......
(JAVA) 日期格式轉換
以下為常用的兩種日期格式 4/25/1955 和 April 25,1955 ,撰寫一個程式,能夠讀入第一種格式的日期字串, 並以第二種格式列印齣來。( 月份英文: January, February , March, April, May, June, .......
(JAVA)for迴圈問題
本帖最後由 ilovewayni 於 2009-6-9 23:17 編輯 各位大大好,小弟在自學JAVA,因為朋友也有在學,不過他們有個問題我也不曉得怎麼解決
程式碼如以下,輸齣已經沒問題瞭,不過重點就再怎麼縮減阿@@"
因為我對於程式語言不太瞭解,希望哪位大大可以幫忙解答或者教教小弟。
小弟很想把程式語言學好。自己會思考,不過這個好像就是頭腦打瞭個結
希望大大們能幫小弟一個忙,謝謝。
小弟知道需要用到FOR迴圈以及陣列。可是基礎不好,請大大告知小弟迴圈以及陣列如何使用
再.......
(JAVA)關於JAVA的加密程式問題
本帖最後由 peter1003 於 2009-6-4 08:40 編輯 由於JCE有限定隻能在北美地區使用
網路上 不太好抓到JCE= =
或是抓到之後 也不知道是不是最新的版本 以及如何安裝??
感覺有點睏擾
看到網路上的一個說法 寫說JDK新的版本都含有JCE瞭 是這樣的嗎= = 風箏惡魔:
現在時間2009.06.04 07:00
請於2009.06.06 07:00前
依版規規定修改標題格式
否則刪帖論..........
(Java)有人知道sun Jave TWO 09
前幾天收到104的信,SUN今年有要辦開放原始碼社群大會
活動網址如下: http://203.67.83.114/sun/20081217/edm/outlay.jsp
這次師資有請到"Thinking in Java"作者Bruce Eckel
.......
(MATLAB)關於字體放大的問題
本帖最後由 ENZO807522 於 2009-5-23 23:03 編輯 目前剛接觸到MATLAB這套軟體(目前使用7.1版),我在拉方塊圖點兩下後發現裏麵的字體很小
之前是有看過有人不知道在鍵盤上按瞭什麼鍵讓字體變大
我有把我想把字型變大的範圍圈起來(圖片在附加檔案裏麵),看的眼睛都酸瞭,麻煩各位教一下我這初學者
謝謝! 風箏惡魔:
現在時間 2009.05.22 15:30
請於2009.05.24 15:30前
依版規規定修改標題格式
否則刪帖論..........
(Matlab 2006a)寫齣CCD擷取影像和單鍵控製CCD照相
本帖最後由 pong15987 於 2009-4-8 00:58 編輯 小弟目前在做大學專題 但是遇到很大的瓶頸,因為我是初學者,以前完全沒學過任何語言
題目是:題目是:《利用matlab開啓CCD擷取影像和圖片,並辨識來開門鎖》。
現在我可以開啓CCD擷取影像和圖片
但是老師要求我把它變成,可以利用鍵盤(keyboard),任按一鍵,就可以把CCD上擷取的影像,馬上照相並存成10張圖片的M檔案程式碼。
目前瓶頸:
(1)照片無法寫入
(2)無法利用鍵.......
(Matlab)一些重要小程式!分享給需要的
look_ :找齣key word 相關指令
ver :顯示Matlab版本,工具箱版本
version :隻顯示Matlab版本
what_路徑 :尋找目錄下各式檔案
which_檔名 :找齣檔案所在路徑
pat.......
(Matlab)影像處理運用想轉成灰階
本帖最後由 koyadji 於 2009-2-26 08:02 編輯 小弟我matlab是用5.3,想把這張圖()用matlab轉成灰階,爬瞭很多文上網也找很久但都轉不齣來,本身我是半路齣傢看書和網路上爬文自學,所以底子很不紮實,想問那位先進可以幫忙解惑跟我說一下程式的撰寫。
想請會的先進可以寫成完整程式並可以讓matlab執行成功嗎,秀齣灰階的Figure?(本身有執行成功)
十分感謝各位先進!
下麵程式是我在書中或是Matlab help 或網路找到.....
但試試都沒有.......
(MySQL)請教MySQL查詢語法
本帖最後由 風箏惡魔 於 2009-4-25 21:25 編輯 使用版本:MySQL 5.0.51b
table01: charidname0001小明0002小華0003大明0004大華
table02: chariditem_id00011111000211110003222200042222
我今天想作一個查詢:
查詢table02 的 item_id 欄位為 1111 的所有持有者id(charid),並根據 charid 查詢 table01 名稱SELECT `c.......
(PYTHON)想請教如何設計圖書管理係統
本帖最後由 風箏惡魔 於 2009-9-27 22:14 編輯 PYTHON這套程式本人完全沒有接觸過
但礙於功課強製規定的關係隻好使用這個
我是有先去查些資料
不過關於這個的資源實在有點少
可能的話我希望能自己完成
隻是不知道具體上應該怎麼下手
所以希望各位大大可以幫忙給個方嚮
或是給我一些參考的資料網站
先謝謝大傢...... 風箏惡魔:
既然有先做瞭一些功課
查瞭一些資料
不妨說說讀後的感想
說說目前的看法
或許其他的朋友纔有辦法幫您解惑喔..........
(SC-EN38)和( DCM230 ) 哪台音質比較好勒
最近想購買組閤音響!!
剛好看到(剛好又可以ipod連動)
Panasonic MP3/CD國際牌組閤音響(SC-EN38)
PHILIPS 飛利浦多媒體iPod音響( DCM230 )
兩組不知哪組音質較好!!
功能性如何!!
還是有.......
(SIC)將20Byte的字串清空為白
本帖最後由 2850 於 2009-3-9 17:43 編輯 上係統程式的課,老師齣瞭一題
寫一串SIC指令,將20Byte的字串清空為白
Hint:space是個字元(c' ')大小為1byte
將space字元復製到20位元組大小字串中
這門課纔剛學,上課又是投影片紙上談兵,並沒有實際操作
老實說聽的很霧煞煞(老師講的例題都能理解,但齣個題目就轉不過來)
希望神人可以提供答案 & 初入門的學習建議方嚮
拜託瞭~ 風箏惡魔:
您的標題對瞭一半
麻煩看清楚版規後.......
(SQL SERVER 2005)關於資料錶如何匯齣問題
本帖最後由 風箏惡魔 於 2009-6-23 18:14 編輯 在SQL 2005裏是否可以使用UNLOAD語法將需求的資料錶匯齣?
EX:UNLOAD TABLE FROM DB.XXX TO DB.XXXX
如果不行,是否有其它方式可以解決?.......
(VB 6.0)寫兩個VB程式碼問題
本帖最後由 風箏惡魔 於 2009-3-16 23:35 編輯 寫兩個VB程式碼問題
第一個...是小精靈
我已經做瞭一半
現在已經能夠走動
但是如何讓他 走正方形的路綫呢?!
先嚮右走...走到某個座標後...往下走...然後往左...往上....最終就是迴到原點這樣子
PS: 附件是我做一半的檔案...圖片路徑請自己重新設定...因為每個人放置不一樣...
第二個是簡易的計算器
這個我一直弄不懂...
條件式
(自然數) +,-,*, /.......
(VB)文字方塊顯示設定的問題?
本帖最後由 風箏惡魔 於 2009-4-26 19:58 編輯 就是..要怎樣纔能在程式執行後
文字方塊內所顯示齣的文字或數字靠右邊??
謝謝.......
(VB2008)連續讀txt
小弟正在寫一個介麵
想要按下Button後
TextBox顯示TXT檔裏麵的字串
TXT檔裏麵是XXXXXXXXXXXXXXXXXX
OOOOOOOOOOOOOOOOO
.......
(VB6.0)用VB控製RFID
本帖最後由 風箏惡魔 於 2009-6-13 19:59 編輯 以下這段程式是放在驅動RFID的元件控製項裏麵的
我想問的是這段裏麵詳細的內容是什麼意思
Private Sub RWM600x_OnTagEvent(ByVal nEvent As Integer, ByVal nDSFID As Integer)
Dim bUID(7) As Byte ' Byte Array for UID, Size 8 Bytes (0~7)
Dim szUID As S.......
(VBA) 遠端連綫的問題
本帖最後由 風箏惡魔 於 2009-5-19 09:28 編輯 請教各位先進
當IE進入瞭遠端桌麵連綫之後
(遠端桌麵連綫:
此圖擷取自 :http://pcuser.pixnet.net/blog/post/22247334
連綫後會進入一個 windows log 的小視窗 (windows server 2003)
此時 想使用自動登入的功能:
sendkeys "linwei"
sendkeys "{TAB}"
sendkeys "720809"
.......
(VC++) 請教關於檔案讀取與輸齣的疑問(急)
本帖最後由 mayday03225 於 2009-5-18 23:08 編輯 各位版上前輩好
小弟初次來到此論壇,小弟之前完全沒有任何程式開發的經驗
初次學習的語言就是C++瞭,到目前為止都是在看書,已經看瞭四天~"~
小弟遇到的問題是想開發一個程式是,能開啓並讀取檔案(文字檔),然後在畫麵中秀齣檔案的內容,內容的部分希望能讓他秀齣
1.ADDRESS(從000000H開始) 2.檔案內容以16進製顯示 3.檔案內容(十進製)
再來是在顯示以上內容的部分,希望能在開始顯示前能.......
(VC++)~關於一個網路遊戲"人在江湖"源碼修改的問題??
本帖最後由 picar 於 2009-6-8 03:28 編輯 各位先進大傢好
小弟日前在因緣際會下
不小心就架好瞭很久以前的第一套網路遊戲"人在江湖"的伺服
也有對源碼做些許的修改
近日碰到瞭一個難題
不知道這裏是不是能夠尋求到解答
本身對程式碼是完全的外行
僅靠一些簡單的邏輯去做部份參數的修改
這是我現在開伺服相關的網站 http://xmud.miroko.tw
內有相關程式資料
有興趣的人可以來參考看看喔!!
下列是"人在江湖"的一段源碼,
主要是計算.......
(VC++)如何加入判斷讓輸齣的文件能夠一頁頁顯示
本帖最後由 風箏惡魔 於 2009-5-22 15:28 編輯 這是一個能讀取檔案,並輸齣檔案內容的CODE
我想在裏麵加入功能判斷提示
提示輸入:1.一次顯示全部檔案內容(這個我已實現)
2.一頁接著一頁顯示(每頁提示press any key來換頁,輸入’n’結束程式)
所以我的問題是怎麼寫這個提示輸入的選項以及如何一頁接一頁顯示,該怎麼加進去此code呢 #include <iostream> #include <string> #include.......
(VC++)如何把輸齣檔案的格式顯示成如下所示?
本帖最後由 風箏惡魔 於 2009-5-22 15:24 編輯 感謝闆上前輩的幫助,小弟已經能夠開啓檔案且算齣檔案大小
最後的問題(應該吧 :P)是如何調整輸齣的格式讓他與下圖中顯示的模式相同?請看以下圖片~~ http://picasaweb.google.com.tw/a7258kimo/C#5338163490264018610
左邊一列 000010
000020 拿來分段用的,好像是自己打的,就是類似標記的符號那樣
右邊一列 就.......
(VC++)請問怎麼捕取使用者鍵入的按鍵
本帖最後由 flyinsky2626 於 2009-5-24 21:38 編輯 我的問題是我想要判斷用戶是不是有鍵入(ctr+?) ?=任意鍵
比如說我的程式是:請輸入字元,如要迴到選單請案ctr+? 類似這種功能
請問要怎麼寫
cout <<"請輸入字元,如要迴到選單請按ctr+a";
cin << str;
要怎麼判斷輸入的是不是 ctr+? 假如是就做我要做的動作
還是說有其他的辦法可以代替這個? 風箏惡魔:
現在時間2009.05.12 22:50
.......
(VC++)請專傢幫忙翻譯及改進程式?
本帖最後由 風箏惡魔 於 2009-5-23 22:55 編輯 問題1.第15~17行看不太懂,需要幫忙解釋
問題2.此CODE是開啓固定的檔案,若要改寫成提示使用者自己輸入的檔案名稱,該如何改進?
問題3.從19行到39行是顯示齣檔案的資料(一次顯示到底),如何使顯示結果能換頁顯示? #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <.......
(VC++)請專傢幫忙翻譯此CODE
本帖最後由 風箏惡魔 於 2009-5-25 16:13 編輯 請問SETW中的 ":" 及 "?" 是什麼意思?
又
整行指令的翻譯若有人懂,可否幫忙翻譯?
cout < <setfill(' ') < <setw( 3+(read_len>7?(48-read_len*3):(49-read_len*3)) ) < <'|';
PS為瞭反白CODE中的”?”及”:”故無法加入{/CODE} 風箏惡魔:
這位大大
連續幾天都看到您發帖詢問VC++程式碼
但卻.......
(VC++)關於讀檔讀入如何區分字串和數字的問題
本帖最後由 flyinsky2626 於 2009-6-22 19:57 編輯 我在練習程式的時候遇到一個瓶頸
就是假如在讀入一個TXT檔的內容時我用
d.txt檔的內容為:ocut54 Deaf698sdf jsdif523 sjjie123
#include<stdio.h>
void main(void)
{
char str[100];
int i=0,value[100],j;
FILE *f1=fopen("d.txt","r");
if.......
(Visual Basic 6)日期宣告問題
本帖最後由 Hcf_sybenz 於 2009-7-13 10:58 編輯 小弟最近初學VB6
在練習打兩個宣告時 齣瞭問題
我的日期宣告會有錯誤
以下是我打的內容
Dim Age As Integer
Dim birthday As Date
Age = 24
birthday = #7/4/1890#
Print Age
Print birthday
我案執行時他說birthday = #7/4/1890#這行有錯誤
請問各位大大我問題齣在哪? 風箏惡魔.......