我无法通过USART发送char数组值(Avr Atmel工作室)

时间:2018-03-18 17:07:56

标签: avr usart

我正在尝试使用av​​art的usart。但我无法发送完整的字符串。 1个字符在时间工作,但char数组我不能发送。

请我打开所有建议。我只是遗漏了一些重要的东西,无法弄清楚我自己的......

这是我的代码:

void send_string(const char *str,uint8_t len);
int main(void)
{

  USART_Init(207);
  adc_init();  


  //----------------------------------------------------------------------------
  const char txt[5]="hello";  
  PORTB =0b1010000;
  USART_Transmit('O');// this part works 
  USART_Transmit('k');// works 
  USART_Transmit('!');// works  
  USART_Transmit(0x0d);//start of new line -> \r
  USART_Transmit(0x0a);//new line            -> \n
while (1) 
{

_delay_ms(500);
sensitivity = adc_read(0);
print_value((char*)'A',(int *)sensitivity); // works. definition is unsigned int sensitivity = 1;

send_string((char *)&txt[0],strlen(txt));  //sounds good does not work  :( 
send_newln();
defa((char*)&txt[0]);// çalışmıyor
defa((char*)'A');// çalışıyor
}
}

以下是功能:

void send_string(const char *str,uint8_t len){

while (len--){
USART_Transmit((const char*)*str);
str++;
}
}



void defa(char aa){
for(uint8_t i=0;i<5;i++)
{
USART_Transmit(aa);
}
}

0 个答案:

没有答案