网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月17日漏签0天
msp430吧 关注:7,567贴子:16,102
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 8回复贴,共1页
<<返回msp430吧
>0< 加载中...

谁知道430g2553的串口怎

  • 只看楼主
  • 收藏

  • 回复
  • 处女Romantic
  • 颇具名气
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谁知道430g2553的串口怎么用?


  • pcdian
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
像其他单片机一样,初始化后看你用中断方式还是查询方式咯


2025-07-17 03:08:43
广告
  • pcdian
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有个标志位可以查


  • 大当家sp
  • 颇具盛名
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有历程的


  • 大当家sp
  • 颇具盛名
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/********************************************************************
//DM430-L型最小系统板串口测试程序,使用单片机的串口0
//通过电脑与串口线连接开发板串口座,使用串口调试助手发送数据到系统板
//系统板会将收到的数据再发送到串口调试助手,接收采用中断模块,发送用查询
//板载的BSL模块可以通过跳线帽设置为USB转串口模式,笔记本电脑没有串口可以直接代替
//开发板的BSL_Config区的RXD和TXD0连接,TXD和RXD0连接即可
//调试环境:EW430 V5.30
//作者:阿迪 http://www.avrgcc.com
//时间:2011.09.19
********************************************************************/
#include <msp430x14x.h>
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
/*当BRCLK=CPU_F时用下面的公式可以计算,否则要根据设置加入分频系数*/
#define baud 9600 //设置波特率的大小
#define baud_setting (uint)((ulong)CPU_F/((ulong)baud)) //波特率计算公式
#define baud_h (uchar)(baud_setting>>8) //提取高位
#define baud_l (uchar)(baud_setting) //低位
//*************************************************************************
// 系统时钟初始化
//*************************************************************************
void Clock_Init()
{
uchar i;
BCSCTL1&=~XT2OFF; //打开XT振荡器
BCSCTL2|=SELM1+SELS; //MCLK为8MHZ,SMCLK为8MHZ
do{
IFG1&=~OFIFG; //清除震荡标志
for(i=0;i<100;i++)
_NOP(); //延时等待
}
while((IFG1&OFIFG)!=0); //如果标志为1,则继续循环等待
IFG1&=~OFIFG;
}
//*************************************************************************
// MSP430内部看门狗初始化
//*************************************************************************
void WDT_Init()
{
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
}
//*************************************************************************
// MSP430串口初始化
//*************************************************************************
void UART_Init()
{
U0CTL|=SWRST; //复位SWRST
U0CTL|=CHAR; //8位数据模式
U0TCTL|=SSEL1; //SMCLK为串口时钟
U0BR1=baud_h; //BRCLK=8MHZ,Baud=BRCLK/N
U0BR0=baud_l; //N=UBR+(UxMCTL)/8
U0MCTL=0x00; //微调寄存器为0,波特率9600bps
ME1|=UTXE0; //UART1发送使能
ME1|=URXE0; //UART1接收使能
U0CTL&=~SWRST;
IE1|=URXIE0; //接收中断使能位
P3SEL|= BIT4; //设置IO口为普通I/O模式
P3DIR|= BIT4; //设置IO口方向为输出
P3SEL|= BIT5;
}
//*************************************************************************
// 串口0发送数据函数
//*************************************************************************
void Send_Byte(uchar data)
{
while((IFG1&UTXIFG0)==0); //发送寄存器空的时候发送数据
U0TXBUF=data;
}
//*************************************************************************
// 处理来自串口 0 的接收中断
//*************************************************************************
#pragma vector=UART0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
uchar data=0;
data=U0RXBUF; //接收到的数据存起来
Send_Byte(data); //将接收到的数据再发送出去
}
//*************************************************************************
// 处理来自串口 0 的发送中断,预留
//*************************************************************************
#pragma vector=UART0TX_VECTOR
__interrupt void UART0_TX_ISR(void)
{
}
//*************************************************************************
// 主函数
//*************************************************************************
void main(void)
{
WDT_Init(); //看门狗设置
Clock_Init(); //系统时钟设置
UART_Init(); //串口设置初始化
_EINT(); //开中断
while(1) //无限循环
{
}
}


  • 处女Romantic
  • 颇具名气
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢各位,问题已解决!


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 8回复贴,共1页
<<返回msp430吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示