คือผมเคยเขียนแต่โปรแกรม PIC แล้วเกิดอยากใช้ Arduino ขึ้นมา อยากทราบว่า โปรแกรมที่ผมเขียนนี้ สามารถแปลงเป็นภาษาที่ใช้กับ Arduino ได้ไหมครับ
ถ้าได้ช่วยแปลงให้หน่อยครับ ขอบคุณครับ
โปรแกรม PIC ที่จะแปลง
#include <16F628A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#define S1 PIN_A0
#define S2 PIN_A1
#define S3 PIN_A2
#define S4 PIN_A3
void main(void)
{
set_tris_A(0xff);
set_tris_B(0X00);
output_b(0X00);
start:
while(true)
{
if(input(S3)==1&input(S4)==0)
while(true)
{
if(input(S3)==1&input(S4)==0)
{
//output_high(PIN_B5);
output_high(PIN_B5);
output_high(PIN_B6);
delay_ms(1000);
output_low(PIN_B6);
output_high(PIN_B4);
}
if(input(S2)==0&input(S1)==0)
{
output_low(PIN_B4);
output_low(PIN_B5);
delay_ms(1000);
goto start;
}
}
if(input(S2)==1&input(S1)==0)
while(true)
{
if(input(S2)==1&input(S1)==0)
{
//output_high(PIN_B5);
output_high(PIN_B5);
output_high(PIN_B6);
delay_ms(1000);
output_low(PIN_B6);
output_high(PIN_B4);
}
if(input(S2)==0&input(S1)==0)
{
output_low(PIN_B4);
output_low(PIN_B5);
delay_ms(1000);
goto start;
}
}
if(input(S2)==0&input(S1)==0)
while (true)
{
if(input(S2)==0&input(S1)==0)
{
output_high(PIN_B4);
delay_ms(300);
}
if(input(S2)==0&input(S1)==0)
{
output_high(PIN_B5);
delay_ms(400);
}
if(input(S2)==0&input(S1)==0)
{
output_low(PIN_B4);
output_low(PIN_B5);
delay_ms(400);
}
goto start;
}
}
goto start;
}
ช่วยแปลงจาก โปรแกรม PIC ให้เป็น ภาษา c/c++ ที่ใช้กับบอร์ด Arduino ให้หน่อยครับ
ถ้าได้ช่วยแปลงให้หน่อยครับ ขอบคุณครับ
โปรแกรม PIC ที่จะแปลง
#include <16F628A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#define S1 PIN_A0
#define S2 PIN_A1
#define S3 PIN_A2
#define S4 PIN_A3
void main(void)
{
set_tris_A(0xff);
set_tris_B(0X00);
output_b(0X00);
start:
while(true)
{
if(input(S3)==1&input(S4)==0)
while(true)
{
if(input(S3)==1&input(S4)==0)
{
//output_high(PIN_B5);
output_high(PIN_B5);
output_high(PIN_B6);
delay_ms(1000);
output_low(PIN_B6);
output_high(PIN_B4);
}
if(input(S2)==0&input(S1)==0)
{
output_low(PIN_B4);
output_low(PIN_B5);
delay_ms(1000);
goto start;
}
}
if(input(S2)==1&input(S1)==0)
while(true)
{
if(input(S2)==1&input(S1)==0)
{
//output_high(PIN_B5);
output_high(PIN_B5);
output_high(PIN_B6);
delay_ms(1000);
output_low(PIN_B6);
output_high(PIN_B4);
}
if(input(S2)==0&input(S1)==0)
{
output_low(PIN_B4);
output_low(PIN_B5);
delay_ms(1000);
goto start;
}
}
if(input(S2)==0&input(S1)==0)
while (true)
{
if(input(S2)==0&input(S1)==0)
{
output_high(PIN_B4);
delay_ms(300);
}
if(input(S2)==0&input(S1)==0)
{
output_high(PIN_B5);
delay_ms(400);
}
if(input(S2)==0&input(S1)==0)
{
output_low(PIN_B4);
output_low(PIN_B5);
delay_ms(400);
}
goto start;
}
}
goto start;
}