//模拟串口 2400 416
//模拟串口 4800 208
//模拟串口 9600 104
//模拟串口 19200 52
#define mt 208
void serial_write(uint32_t pin_number, uint8_t data)
{
static uint8_t flag = 0;
uint8_t i;
if(flag == 0)
{
GPIO_SetMode(pin_number, GPIO_MODE_OUTPUT, NRF_GPIO_PIN_PULLUP);
gpio_write(pin_number, 1); //上电初始化IO
Delay_Nms(5);
flag = 1;
}
Delay_Nms(1);
gpio_write(pin_number, 0); //发送起始位
Delay_Nus(mt);
//发送8位数据位
for(i = 0; i < 8; i++)
{
if((data >> i & 0x01) == 0)gpio_write(pin_number, 0);
else gpio_write(pin_number, 1);
Delay_Nus(mt);
}
//发送校验位(无)
gpio_write(pin_number, 1); //发送结束位
Delay_Nus(mt);
}