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 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文件 步骤6 点击编译,第一次编译会让保存工作空间名字,随便取个名字保存即可。 打开这个软件 首先得看硬件,P34和P35引脚就是串口引脚。确保用一个USB转TTL模块,链接到这里,然后插入电脑。
改成release模式
效果:
然后右键点工程名字,出现这个界面,左键点option
然后再linker里选output,勾选覆盖默认,修改文件后缀为hex,设置输出格式为intel-extended,最后确定。
编译完成后最底下有提示:
再次点击编译就不会让保存工作空间了。
编译的目的是把写的C代码编译成hex文件,
这个文件在哪里我们要知道:
打开桌面上的工程文件,然后进入release文件夹
然后进exe文件夹
这个文件就是hex文件:4 安装CH340驱动
出现安装失败的原因可能是电脑已经存在CH340驱动了,那就不用再管这个了。
安装驱动后,把单片机连接到电脑
然后把右键点击此电脑,然后点属性
然后点设备管理器
然后可以看到插入的430单片机的端口号,我这里就是COM24。端口号是计算机识别外部设备的代号,每次插入设备这个端口号可能会随机分配,所以每次插入后的端口号可能会不一样,下载程序或者串口通信都需要在软件里面设置端口号,这个端口号的查看方式我们得记住,同时也记住插入单片机后计算机给单片机分配的端口号是多少。5下载程序到单片机
点这个去打开工程里生成的hex文件
打开后的效果:
点setup去设置端口号
我这里得将COM5那个位置设置为COM24,设置好后点击OK
然后设置单片机型号,最后点AUTO,点了之后程序就会下载到单片机里,注意看软件下方的提示,下载没错的话会提示编程成功。6做串口实验
我们之前下载的程序的功能是说,单片机串口收到什么信息,就会用串口回发一个相同的信息。
打开串口调试助手,选择端口号,选择波特率,然后打开串口,然后写一个字符串,最后点发送,单片机收到后,会回发一个同样的字符串,这就说明了串口通信成功。
上一篇:关于MSP430的精准延时__delay_cycles的分析
下一篇:官网中MSP430G2553数据表及用户指南的简单了解
推荐阅读最新更新时间:2024-11-13 10:17