ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

单片机 如何给MSP430开发板下载程序 并做一个串口实验

2020-06-26 12:05:30  阅读:357  来源: 互联网

标签:__ hex 开发板 单片机 串口 软件 端口号


文章目录

1简介

我们需要下面这些软件
在这里插入图片描述
CH340驱动软件:是使用BSL下载程序的话,电脑需要和单片机通信,他们之间的桥梁就是CH340芯片,电脑想要识别CH340芯片就需要驱动。下载程序需要使用CH340芯片,让单片机接受指令也需要使用CH340芯片,总之电脑和单片机之间的通信就是靠CH340芯片。
IAR软件:我们需要在这个软件里面写c代码,然后利用这个软件的编译功能,将c代码编译成hex文件,hex文件就是机器文件,单片机依靠这个文件来工作,这个文件最终是要下载到单片机里面去的。
串口助手软件:下载程序有专门用的软件,和单片机相互通信也有专门的软件,串口助手软件可以帮助你和单片机通信,可以在串口助手软件中写一个字符串发送给单片机,同时也可以在串口助手软件中接受单片机发送过来的数据。串口助手软件是验证单片机串口是否工作的一个重要软件。
下载程序到单片机的软件:这个软件专门负责把hex文件下载到单片机里面去。

2安装IAR

这个看word

3使用IAR编写程序 生成hex文件

步骤1:在桌面上新建一个文件夹,这个文件夹不要有中文或特殊符号,最好是全英文
在这里插入图片描述
步骤2:打开IAR
在这里插入图片描述
步骤3 新建工作空间
在这里插入图片描述
步骤4 新建工程
在这里插入图片描述
在这里插入图片描述
保存到桌面上新建的那个文件夹,为工程取个英文名字就好
在这里插入图片描述
最终效果:
在这里插入图片描述
步骤5 在main.c里写C代码,复制下面的代码:

/* --COPYRIGHT--,BSD_EX
 * Copyright (c) 2012, Texas Instruments Incorporated
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * *  Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * *  Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * *  Neither the name of Texas Instruments Incorporated nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 *******************************************************************************
 * 
 *                       MSP430 CODE EXAMPLE DISCLAIMER
 *
 * MSP430 code examples are self-contained low-level programs that typically
 * demonstrate a single peripheral function or device feature in a highly
 * concise manner. For this the code may rely on the device's power-on default
 * register values and settings such as the clock configuration and care must
 * be taken when combining code from several examples to avoid potential side
 * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware
 * for an API functional library-approach to peripheral configuration.
 *
 * --/COPYRIGHT--*/
//******************************************************************************
//  MSP-FET430P140 Demo - USART0, UART 115200 Echo ISR, XT2 HF XTAL ACLK
//
//  Description: Echo a received character, RX ISR used. Normal mode is LPM0,
//  USART0 RX interrupt triggers TX Echo. Though not required, MCLK= XT2.
//  ACLK = n/a, MCLK = SMCLK = UCLK0 = XT2 = 8MHz
//  Baud rate divider with 8Mhz XTAL = 8000000/115200 = 0069 (0045h)
//  //* An external 8MHz XTAL on X2IN X2OUT is required for XT2CLK *//	
//  //* Min Vcc required varies with MCLK frequency - refer to datasheet *//	
//
//
//                MSP430F149
//             -----------------
//         /|\|            XT2IN|-
//          | |                 | 8Mhz
//          --|RST        XT2OUT|-
//            |                 |
//            |             P3.4|------------>
//            |                 | 115200 - 8N1
//            |             P3.5|<------------
//
//
//  M. Buccini
//  Texas Instruments Inc.
//  Feb 2005
//  Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A
//******************************************************************************

#include <msp430.h>

int main(void)
{
  volatile unsigned int i;
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD

  BCSCTL1 &= ~XT2OFF;                       // XT2on

  do
  {
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag
  for (i = 0xFF; i > 0; i--);               // Time for flag to set
  }
  while ((IFG1 & OFIFG));                   // OSCFault flag still set?

  BCSCTL2 |= SELM_2 + SELS;                 // MCLK = SMCLK = XT2 (safe)
  ME1 |= UTXE0 + URXE0;                     // Enable USART0 TXD/RXD
  UCTL0 |= CHAR;                            // 8-bit character
  UTCTL0 |= SSEL1;                          // UCLK = SMCLK
  UBR00 = 0x45;                             // 8MHz 115200
  UBR10 = 0x00;                             // 8MHz 115200
  UMCTL0 = 0x00;                            // 8MHz 115200 modulation
  UCTL0 &= ~SWRST;                          // Initialize USART state machine
  IE1 |= URXIE0;                            // Enable USART0 RX interrupt

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0 w/ interrupt
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USART0RX_VECTOR))) usart0_rx (void)
#else
#error Compiler not supported!
#endif
{
  while (!(IFG1 & UTXIFG0));                // USART0 TX buffer ready?
  TXBUF0 = RXBUF0;                          // RXBUF0 to TXBUF0
}

完成后效果:
在这里插入图片描述

步骤6 设置IAR使其能够编译输出hex文件
改成release模式
在这里插入图片描述
效果:
在这里插入图片描述
然后右键点工程名字,出现这个界面,左键点option
在这里插入图片描述
然后再linker里选output,勾选覆盖默认,修改文件后缀为hex,设置输出格式为intel-extended,最后确定。
在这里插入图片描述

步骤6 点击编译,第一次编译会让保存工作空间名字,随便取个名字保存即可。
在这里插入图片描述
在这里插入图片描述
编译完成后最底下有提示:
在这里插入图片描述
再次点击编译就不会让保存工作空间了。
编译的目的是把写的C代码编译成hex文件,
这个文件在哪里我们要知道:
打开桌面上的工程文件,然后进入release文件夹
在这里插入图片描述
然后进exe文件夹
在这里插入图片描述
这个文件就是hex文件:
在这里插入图片描述

4 安装CH340驱动

在这里插入图片描述
在这里插入图片描述
出现安装失败的原因可能是电脑已经存在CH340驱动了,那就不用再管这个了。
安装驱动后,把单片机连接到电脑
然后把右键点击此电脑,然后点属性
在这里插入图片描述
然后点设备管理器
在这里插入图片描述
然后可以看到插入的430单片机的端口号,我这里就是COM24。端口号是计算机识别外部设备的代号,每次插入设备这个端口号可能会随机分配,所以每次插入后的端口号可能会不一样,下载程序或者串口通信都需要在软件里面设置端口号,这个端口号的查看方式我们得记住,同时也记住插入单片机后计算机给单片机分配的端口号是多少。
在这里插入图片描述

5下载程序到单片机

打开这个软件在这里插入图片描述
点这个去打开工程里生成的hex文件
在这里插入图片描述
打开后的效果:
在这里插入图片描述
点setup去设置端口号
在这里插入图片描述
我这里得将COM5那个位置设置为COM24,设置好后点击OK
在这里插入图片描述
然后设置单片机型号,最后点AUTO,点了之后程序就会下载到单片机里,注意看软件下方的提示,下载没错的话会提示编程成功。
在这里插入图片描述

6做串口实验

首先得看硬件,P34和P35引脚就是串口引脚。确保用一个USB转TTL模块,链接到这里,然后插入电脑。
在这里插入图片描述
我们之前下载的程序的功能是说,单片机串口收到什么信息,就会用串口回发一个相同的信息。
打开串口调试助手,选择端口号,选择波特率,然后打开串口,然后写一个字符串,最后点发送,单片机收到后,会回发一个同样的字符串,这就说明了串口通信成功。
在这里插入图片描述

标签:__,hex,开发板,单片机,串口,软件,端口号
来源: https://blog.csdn.net/x1131230123/article/details/106956182

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有