本文整理汇总了C++中Usart类的典型用法代码示例。如果您正苦于以下问题:C++ Usart类的具体用法?C++ Usart怎么用?C++ Usart使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Usart类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: write_time
void write_time(Usart& uart, DS3231 &rtc)
{
uint8_t buffer[8] = {0};
rtc.readRaw(buffer, 8);
write_digits(uart, buffer[3]);
uart.write(':');
write_digits(uart, buffer[2]);
uart.write(':');
write_digits(uart, buffer[1]);
uart.write(' ');
write_digits(uart, buffer[5]);
uart.write('.');
write_digits(uart, buffer[6]);
uart.write(".20");
write_digits(uart, buffer[7]);
}
示例2: write_temp
void write_temp(Usart& uart, const uint8_t temp)
{
write_decimal(uart, temp);
uart.write('C');
}
示例3: write_decimal
void write_decimal(Usart& uart, const uint32_t dec)
{
char buffer[6] = {0};
ltoa(dec, buffer, 10);
uart.write(buffer);
}
示例4: gps_start
void gps_start()
{
GPS_UART_PWR_ON;
gps_uart.Init(GPS_UART, 9600);
gps_uart.SetInterruptPriority(MEDIUM);
GpioSetDirection(GPS_EN, OUTPUT); //active high
GpioWrite(GPS_EN, LOW);
GpioSetDirection(GPS_TIMER, INPUT); //active low, otherwise open-drain
GpioSetPull(GPS_TIMER, gpio_pull_up);
GpioSetInterrupt(GPS_TIMER, gpio_interrupt1, gpio_falling);
GpioSetDirection(GPS_RESET, OUTPUT); //active low
GpioWrite(GPS_RESET, LOW);
GpioWrite(GPS_EN, HIGH);
_delay_ms(10);
GpioWrite(GPS_RESET, LOW);
_delay_ms(20);
GpioWrite(GPS_RESET, HIGH);
gps_parser_state = GPS_IDLE;
fc.gps_data.valid = false;
fc.gps_data.fix = 0;
fc.gps_data.fix_cnt = 0;
for (uint8_t i = 0; i < GPS_SAT_CNT; i++)
{
fc.gps_data.sat_id[i] = 0;
fc.gps_data.sat_snr[i] = 0;
}
}
示例5: bt_unknown_parser
void bt_unknown_parser()
{
while (!bt_uart.isRxBufferEmpty())
{
uint8_t c = bt_uart.Read();
DEBUG(">> %02X %c ??\n", c, c);
}
}
示例6: bt_step
void bt_step()
{
if (bt_module_state == BT_MOD_STATE_OFF)
return;
if (bt_reset_counter)
{
if (bt_reset_counter > task_get_ms_tick())
return;
DEBUG("BT RESET STEP: %d\n", bt_reset_counter_step);
switch(bt_reset_counter_step)
{
case(0):
GpioWrite(BT_EN, HIGH);
bt_reset_counter = task_get_ms_tick() + 500;
bt_reset_counter_step = 1;
break;
case(1):
//enable bt uart
BT_UART_PWR_ON;
bt_uart.Init(BT_UART, 115200);
bt_uart.SetInterruptPriority(MEDIUM);
// while(1)
// {
// _delay_ms(100);
// bt_uart.Write(0x00);
// _delay_ms(1);
// bt_uart.Write(0xAA);
// ewdt_reset();
// }
bt_reset_counter = task_get_ms_tick() + 10;
bt_reset_counter_step = 2;
break;
case(2):
GpioWrite(BT_RESET, HIGH);
bt_reset_counter_step = 0;
bt_reset_counter = 0;
break;
}
return;
}
if (bt_module_type == BT_PAN1322)
bt_pan1322.Step();
if (bt_module_type == BT_PAN1026)
bt_pan1026.Step();
if (bt_module_type == BT_UNKNOWN)
bt_unknown_parser();
}
示例7: uart_low_speed
void uart_low_speed()
{
//enable usart
DEBUG_UART_PWR_ON;
//init uart
uart.Init(DEBUG_UART, 9600);
uart.SetInterruptPriority(HIGH);
// uart.dbg = true;
SetStdIO(uart_in, uart_out);
}
示例8: gps_set_baudrate
void gps_set_baudrate()
{
DEBUG("set_baudrate\n");
fprintf_P(gps_out, PSTR("$PMTK251,115200*1F\r\n"));
gps_uart.FlushTxBuffer();
_delay_ms(1);
}
示例9: bt_init
void bt_init()
{
DEBUG("bt_init\n");
//get module type
eeprom_busy_wait();
bt_module_type = eeprom_read_byte(&config_ro.bt_module_type);
//init bt_uart
bt_uart.InitBuffers(BUFFER_SIZE * 2, BUFFER_SIZE);
//pin init
GpioSetDirection(BT_EN, OUTPUT);
GpioSetDirection(BT_RESET, OUTPUT);
GpioSetDirection(BT_RTS, OUTPUT);
//power is off
GpioWrite(BT_RTS, LOW);
GpioWrite(BT_EN, LOW);
GpioWrite(BT_RESET, LOW);
//IRQ init
GpioSetDirection(BT_CTS, INPUT);
GpioSetPull(BT_CTS, gpio_pull_down);
GpioSetInterrupt(BT_CTS, gpio_interrupt1, gpio_rising);
}
示例10: uart_stop
void uart_stop()
{
uart.Stop();
//disable usart
DEBUG_UART_PWR_OFF;
}
示例11: bt_module_deinit
void bt_module_deinit()
{
GpioWrite(BT_EN, LOW);
GpioWrite(BT_RESET, LOW);
bt_irgh(BT_IRQ_DEINIT, 0);
bt_uart.Stop();
BT_UART_PWR_OFF;
}
示例12: uart_send
void uart_send(char * msg)
{
char * ptr = msg;
while (*ptr != 0)
{
uart.Write(*ptr);
ptr++;
}
}
示例13: bt_module_reset
void bt_module_reset()
{
GpioWrite(BT_EN, LOW);
GpioWrite(BT_RESET, LOW);
bt_uart.Stop();
BT_UART_PWR_OFF;
bt_reset_counter = task_get_ms_tick() + 4000;
bt_reset_counter_step = 0;
}
示例14: main
int main(void)
{
leds.initHW();
NVIC_SetPriorityGrouping( NVIC_PriorityGroup_4 );
leds.write( 0x0F ); delay_bad_ms( 200 );
leds.write( 0x0A ); delay_bad_ms( 200 );
leds.reset( 0x0F ); delay_bad_ms( 200 );
xTaskCreate( task_leds, "leds", 2*def_stksz, 0, 1, 0 );
xTaskCreate( task_usart2_send, "send", 2*def_stksz, 0, 1, 0 );
xTaskCreate( task_usart2_recv, "recv", 2*def_stksz, 0, 1, 0 );
xTaskCreate( task_string_send, "ss", def_stksz, 0, 1, 0 );
us2.initIRQ( configKERNEL_INTERRUPT_PRIORITY, 0 );
us2.initHW();
us2.init();
us2.itConfig( USART_IT_RXNE, ENABLE );
us2.setOnRecv( on_received_char );
us2.enable();
vTaskStartScheduler();
die4led( 0xFF );
return 0;
}
示例15: gps_stop
void gps_stop()
{
GpioSetDirection(GPS_EN, INPUT);
GpioSetDirection(GPS_RESET, INPUT);
fc.gps_data.valid = false;
fc.gps_data.fix = 0;
fc.gps_data.fix_cnt = 0;
GpioSetPull(GPS_TIMER, gpio_totem);
gps_init_ok = false;
gps_uart.Stop();
GPS_UART_PWR_OFF;
}