欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2848|回復: 4
收起左側

最基本的AVR串口通訊調試有問題,請大神賜教

[復制鏈接]
ID:154686 發表于 2018-11-2 17:08 | 顯示全部樓層 |閱讀模式
使用的是ATMega644PA,晶振12Mhz,熔絲位設置為如下圖
在串口通訊里顯示的數據有問題,不知道為什么,請大家幫我看看

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

//常量聲明
#define BAUD 9600
#define FOSC  12000000
//全局變量聲明
unsigned char Transmit

//函數聲明
void Port_Init(void);   //端口初始化配置
void Usart_Init(void);  //USART寄存器設置
void Usart_PutChar(unsigned char cTXData);  //字節發送函數


int main(void)
{
    Port_Init();
    Usart_Init();

    Transmit = 0x12;

    Usart_PutChar(Transmit);

    sei();          //使能全局中斷

    while(1)
    {


    }
}

//端口狀態初始化設置函數
void Port_Init()
{
    PORTD = 0X00;          //USART的發送接收端口分別為PD0和PD1
    DDRD |= (1 << PD1);   //PD0為接收端口,置為輸入口;PD1為發送端口,置為輸出口
}

//USART寄存器配置函數
void Usart_Init()
{

    UCSR0B = 0x00;//先關閉串口,因為要設置波特率
      UCSR0A = 0X00;
      unsigned int UBRR;
    UBRR = FOSC/16/BAUD-1;
    UBRR0H = (uint8_t)(UBRR>>8);
    UBRR0L = (uint8_t)(UBRR);  //設置波特率

    UCSR0B |= (1 << TXEN0);    //發送使能
    UCSR0C |= (1 << UCSZ01) | (1 << UCSZ00);  //異步,數據格式8,N,1


}


//字節發送函數
void Usart_PutChar(unsigned char cTXData)
{
    while( !(UCSR0A & (1 << UDRE0)) );  //只有數據寄存器為空時才能發送數據
    UDR0 = cTXData;
}



QQ截圖20181102170726.png
QQ截圖20181102170735.png
回復

使用道具 舉報

ID:154686 發表于 2018-11-5 08:34 | 顯示全部樓層
不知道是波特率部分還是晶振部分的問題?
還有我的USART部分的寄存器按照了datasheet編寫,應該沒有問題
回復

使用道具 舉報

ID:154686 發表于 2018-11-5 09:47 | 顯示全部樓層
以上程序在串口助手1200的波特率設置下可以運行,不知道為什么,是我的熔絲位設置有問題嗎
回復

使用道具 舉報

ID:212797 發表于 2018-11-5 10:10 | 顯示全部樓層
沒用過ATMega644PA,不過推薦樓主到Atmel的START上去看看,START實際是Atmel的一個在線生成驅動庫,基本包含了Atmel的所有芯片,只需要選擇相應的芯片,簡單配置一下,就可以生成相應的驅動代碼,網址:http://start.atmel.com/
回復

使用道具 舉報

ID:154686 發表于 2018-11-7 11:24 | 顯示全部樓層
xbook_ben 發表于 2018-11-5 10:10
沒用過ATMega644PA,不過推薦樓主到Atmel的START上去看看,START實際是Atmel的一個在線生成驅動庫,基本包 ...

多謝回復,解決了問題,是熔絲位設置的問題,現在可以正常收發了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表