Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed MultiSerial
Revision 12:6e2ee1c83ac1, committed 2014-09-04
- Comitter:
- Hatter
- Date:
- Thu Sep 04 08:50:40 2014 +0000
- Parent:
- 11:8b1a63a1172a
- Child:
- 13:8a9d3855ab96
- Commit message:
- PWM??
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Sep 04 04:51:51 2014 +0000
+++ b/main.cpp Thu Sep 04 08:50:40 2014 +0000
@@ -1,12 +1,12 @@
/*
* 4WD_OMNI_simple by Tomoki Hokida
- * Simple Type
+* Simple Type
*
* motor pins piar
* motor(p21,p22):motor(p23,p24)
* motor(p25,p26):motor(p27,p28)
* 通信中継用
- * data[0]:arm
+ * data[0]:arm
* data[1]:omni
* reset 0
*/
@@ -18,15 +18,19 @@
#define XBEE_KEY 0xAA//keycode
#define ARM_KEY 0xAA
+#define PWM 1.0
+
BusOut check(LED1,LED2,LED3,LED4);
//BusIn sw(p21,p22,p23,p24);
-BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28);
+//BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28);
+BusOut motors(p5,p6,p7,p8);
+
+PwmOut pwm[4]={p21,p22,p23,p24};
Serial pc(USBTX,USBRX);
-MultiSerial xbee(p13,p14,read);
-
-MultiSerial armMbed(p9,p10,write);
+MultiSerial xbee(p28,p27,read);
+MultiSerial armMbed(p13,p14,write);
typedef struct{
@@ -43,37 +47,43 @@
{
//sw.mode(PullUp);
+ //PWM init
+ pwm[0] = PWM;
+ pwm[1] = PWM;
+ pwm[2] = PWM;
+ pwm[3] = PWM;
+
xbee_packet *pt_packet=&packet;
-
+
xbee.read_data(get_data,XBEE_KEY);
int i=0;
for(;;){
-
+
wait_ms(0.1);
-
- // get_data[0]=0xFF;
- // get_data[1]=0x01;
-
- //memcpy(&packet, get_data, DATA_NUM); //ちょい危険
+
+ // get_data[0]=0xFF;
+ // get_data[1]=0x01;
+
+ //memcpy(&packet, get_data, DATA_NUM); //ちょい危険
packet.arm[0] = get_data[1];
packet.leg = get_data[0];
-
+
check = get_data[1];
+ armMbed.write_data(pt_packet->arm,ARM_KEY);
+
if(packet.leg==0x0) motors = 0;
if(packet.leg&0x1) motors = 0x05; //p21,p23
if(packet.leg&0x2) motors = 0x0A; //p22,p24
if(packet.leg&0x4) motors = 0x50; //p25,p27
if(packet.leg&0x8) motors = 0xA0; //p26,p28
-
+
if(i==10e3){
pc.printf(" arm = %d" ,packet.arm[0]);
pc.printf(" leg = %d" ,packet.leg);
i=0;
- }
-
- armMbed.write_data(pt_packet->arm,ARM_KEY);
+ }
i++;
}
}
\ No newline at end of file