int main(int argc, char** args) { auto set = {1,2,3,4,5}; cout << power_set(set) << endl; return 0; }
/** * Close debug port. * This only affects power saving. * */ void debug_close(void) { /* Disable USART. */ USART_Cmd(USART1,DISABLE); #ifdef HAVE_POWERSAVE power_set(POWER_LPM4, debug_ph); #endif }
void power_set(std::vector<T> const &A, int k, int i, std::string &buffer) { if (i == k) { std::cout << buffer << ','; return; } for (int n = 0; n < A.size(); ++n) { buffer[i] = A[n]; power_set(A, k, i + 1, buffer); } }
int main() { std::vector<char> A = {'a', 'b', 'c', 'd', 'e'}; std::string buffer; unsigned k; while (std::cin >> k) { buffer.resize(k); gen_sequence(A, 0, k, 0, buffer); std::cout << '\n'; buffer.resize(k); power_set(A, k, 0, buffer); std::cout << '\n'; } return 0; }
xPowerHandle power_alloc(void) { power_set(POWER_LPM0, &power_handle[power_handles]); return &power_handle[power_handles++]; }
void cmd_handle(void){ unsigned char cmd; unsigned char cmd_param[8]; int i; cmd = uart1_receive(); uart1_send_char(cmd); // uart2_send_char('O'); // uart3_send_char('K'); switch(cmd){ case CMD_FORWARD://前进 car_forward(); break; case CMD_BACK ://后退 car_back(); break; case CMD_LEFT://向左移动 car_left(); break; case CMD_RIGHT://向右移动 car_right(); break; case CMD_STOP://制动 car_stop(); break; case CMD_INIT://初始化 car_init(); break; case CMD_STANDBY://待机 car_standby(); break; case CMD_CIRCLE1://转 car_circle(1); break; case CMD_CIRCLE2://反转 car_circle(0); break; case CMD_MOTOR_SET://设置参数 for(i=0;i<8;i++){ cmd_param[i]=uart1_receive(); } car_set(cmd_param); for(i=0;i<8;i++){ uart1_send_char(cmd_param[i]); } break; case CMD_RESUME://恢复 car_resume(); break; case CMD_POWER_SET: for(i=0;i<2;i++){ cmd_param[i]=uart1_receive(); } power_set(cmd_param); for(i=0;i<2;i++){ uart1_send_char(cmd_param[i]); } break; case CMD_STEER_SET: for(i=0;i<3;i++){ cmd_param[i]=uart1_receive(); } steering_set(cmd_param); for(i=0;i<3;i++){ uart1_send_char(cmd_param[i]); } break; case CMD_STEER_SHOW: steering_show(); break; case CMD_STEER_SET_INIT: steering_set_init(); break; case CMD_PLAY_WAV: cmd_param[0]=uart1_receive(); play_wav(cmd_param[0]); break; default:break; } }