测试代码高亮-CSDN默认皮肤
2015-04-01 11:56
369 查看
C++语言:
MSP430F5438A的SPI通信例程
01 //===========================================================================//
02 // //
03 // 文件: MAIN.C //
04 // 说明: BW-DK5438开发板单片机SPI端口实验程序 //
05 // 设置SPI端口工作模式,通过SPI端口发送数据 //
06 // 可在P3.1/P3.3端口观察数据、时钟波形 //
07 // 编译: IAR Embedded Workbench IDE for MSP430 v4.21 //
08 // 版本: v1.1 //
09 // 编写: JASON.ZHANG //
10 // 版权: 北京拓普博维电子技术有限公司 //
11 // //
12 //===========================================================================//
13
14 #include "msp430x54x.h"
15 #include <stdlib.h>
16 #include <stdio.h>
17 #include <string.h>
18 #include "PIN_DEF.H"
19
20 #define FLL_FACTOR 649
// FLL_FACTOR: DCO倍频系数
21 char event,
RXBuffer[2] ;
22
23
24 //***************************************************************************//
25 // //
26 // 初始化主时钟: MCLK = XT1×(FLL_FACTOR+1) //
27 // //
28 //***************************************************************************//
29 void
Init_CLK(void)
30 {
31 WDTCTL
=
WDTPW +
WDTHOLD ;
// 关看门狗
32 P7SEL
|=
0x03 ;
// 端口选择外部低频晶振XT1
33 UCSCTL6
&=~XT1OFF ;
// 使能外部晶振
34 UCSCTL6
|=
XCAP_3 ;
// 设置内部负载电容
35 UCSCTL3
|=
SELREF_2 ;
// DCOref = REFO
36 UCSCTL4
|=
SELA_0 ;
// ACLK = XT1
37 __bis_SR_register(SCG0) ;
// 关闭FLL控制回路
38 UCSCTL0 =
0x0000 ;
// 设置DCOx, MODx
39 UCSCTL1 =
DCORSEL_7 ;
// 设置DCO振荡范围
40 UCSCTL2 =
FLLD__1
+ FLL_FACTOR ;
// Fdco = ( FLL_FACTOR + 1)×FLLRef = (649 + 1) * 32768 = 21.2992MHz
41 __bic_SR_register(SCG0) ;
// 打开FLL控制回路
42 __delay_cycles(1024000) ;
43 do
44 {
45 UCSCTL7
&=
~(XT2OFFG
+ XT1LFOFFG
+ XT1HFOFFG
+ DCOFFG);
// 清除 XT2,XT1,DCO 错误标志
46 SFRIFG1
&=
~OFIFG ;
47 }while(SFRIFG1&OFIFG)
; // 检测振荡器错误标志
48 }
49
50 //***************************************************************************//
51 // //
52 // Init_Port(void): 设置IO端口 //
53 // //
54 //***************************************************************************//
55 void
Init_Port(void)
56 {
57 P5DIR |=
POWER ;
// 主电源
58 MAIN_POWER_ON ;
59 P7DIR |=
LED_PWR ;
// 发光二极管电源
60 P7OUT &=~LED_PWR ;
61 INTERNAL_PULL_UP ;
// 使能键盘端口内部上拉电阻
62 ROW_IN_COL_OUT ;
// 设置行输入,列输出0
63 }
64
65 //***************************************************************************//
66 // //
67 // Init_SPI(void): 设置SPI端口 //
68 // //
69 //***************************************************************************//
70 void
Init_SPI(void)
71 {
72 P8OUT |=
LCD_NCS ;
// SPI端口复用,DisableTFT液晶端口
73 P8DIR |=
LCD_NCS ;
74 P3OUT |=
NCS25 ;
75 P3DIR |=
NCS25 ;
76 P3SEL &=
0xF0 ;
77 P3SEL |=
0x0E ;
// // P3.1/2/3功能选择为SPI
78 UCB0CTL1
|=
UCSWRST ;
// 复位SPI状态机
79 UCB0CTL0
|=
UCMST+UCSYNC+UCCKPL+UCMSB
; // 3-pin, 8-bit SPI master, Clock polarity high, MSB
80 UCB0CTL1
|=
UCSSEL_2 ;
// 选择SCK参考源为SMCLK
81 UCB0BR0
=
0x02 ;
// SCK = SMCK/2
82 UCB0BR1
=
0 ;
83 UCB0CTL1
&=~UCSWRST ;
// SPI状态机使能
84 }
85
86
87 void
main(
void )
88 {
89 WDTCTL
=
WDTPW +
WDTHOLD ;
90 Init_CLK() ;
91 Init_Port() ;
92 Init_SPI() ;
93 for(;;)
94 {
95
UCB0TXBUF =
0x55 ;
96
__delay_cycles(280) ;
97 }
98 }
MSP430F5438A的SPI通信例程
01 //===========================================================================//
02 // //
03 // 文件: MAIN.C //
04 // 说明: BW-DK5438开发板单片机SPI端口实验程序 //
05 // 设置SPI端口工作模式,通过SPI端口发送数据 //
06 // 可在P3.1/P3.3端口观察数据、时钟波形 //
07 // 编译: IAR Embedded Workbench IDE for MSP430 v4.21 //
08 // 版本: v1.1 //
09 // 编写: JASON.ZHANG //
10 // 版权: 北京拓普博维电子技术有限公司 //
11 // //
12 //===========================================================================//
13
14 #include "msp430x54x.h"
15 #include <stdlib.h>
16 #include <stdio.h>
17 #include <string.h>
18 #include "PIN_DEF.H"
19
20 #define FLL_FACTOR 649
// FLL_FACTOR: DCO倍频系数
21 char event,
RXBuffer[2] ;
22
23
24 //***************************************************************************//
25 // //
26 // 初始化主时钟: MCLK = XT1×(FLL_FACTOR+1) //
27 // //
28 //***************************************************************************//
29 void
Init_CLK(void)
30 {
31 WDTCTL
=
WDTPW +
WDTHOLD ;
// 关看门狗
32 P7SEL
|=
0x03 ;
// 端口选择外部低频晶振XT1
33 UCSCTL6
&=~XT1OFF ;
// 使能外部晶振
34 UCSCTL6
|=
XCAP_3 ;
// 设置内部负载电容
35 UCSCTL3
|=
SELREF_2 ;
// DCOref = REFO
36 UCSCTL4
|=
SELA_0 ;
// ACLK = XT1
37 __bis_SR_register(SCG0) ;
// 关闭FLL控制回路
38 UCSCTL0 =
0x0000 ;
// 设置DCOx, MODx
39 UCSCTL1 =
DCORSEL_7 ;
// 设置DCO振荡范围
40 UCSCTL2 =
FLLD__1
+ FLL_FACTOR ;
// Fdco = ( FLL_FACTOR + 1)×FLLRef = (649 + 1) * 32768 = 21.2992MHz
41 __bic_SR_register(SCG0) ;
// 打开FLL控制回路
42 __delay_cycles(1024000) ;
43 do
44 {
45 UCSCTL7
&=
~(XT2OFFG
+ XT1LFOFFG
+ XT1HFOFFG
+ DCOFFG);
// 清除 XT2,XT1,DCO 错误标志
46 SFRIFG1
&=
~OFIFG ;
47 }while(SFRIFG1&OFIFG)
; // 检测振荡器错误标志
48 }
49
50 //***************************************************************************//
51 // //
52 // Init_Port(void): 设置IO端口 //
53 // //
54 //***************************************************************************//
55 void
Init_Port(void)
56 {
57 P5DIR |=
POWER ;
// 主电源
58 MAIN_POWER_ON ;
59 P7DIR |=
LED_PWR ;
// 发光二极管电源
60 P7OUT &=~LED_PWR ;
61 INTERNAL_PULL_UP ;
// 使能键盘端口内部上拉电阻
62 ROW_IN_COL_OUT ;
// 设置行输入,列输出0
63 }
64
65 //***************************************************************************//
66 // //
67 // Init_SPI(void): 设置SPI端口 //
68 // //
69 //***************************************************************************//
70 void
Init_SPI(void)
71 {
72 P8OUT |=
LCD_NCS ;
// SPI端口复用,DisableTFT液晶端口
73 P8DIR |=
LCD_NCS ;
74 P3OUT |=
NCS25 ;
75 P3DIR |=
NCS25 ;
76 P3SEL &=
0xF0 ;
77 P3SEL |=
0x0E ;
// // P3.1/2/3功能选择为SPI
78 UCB0CTL1
|=
UCSWRST ;
// 复位SPI状态机
79 UCB0CTL0
|=
UCMST+UCSYNC+UCCKPL+UCMSB
; // 3-pin, 8-bit SPI master, Clock polarity high, MSB
80 UCB0CTL1
|=
UCSSEL_2 ;
// 选择SCK参考源为SMCLK
81 UCB0BR0
=
0x02 ;
// SCK = SMCK/2
82 UCB0BR1
=
0 ;
83 UCB0CTL1
&=~UCSWRST ;
// SPI状态机使能
84 }
85
86
87 void
main(
void )
88 {
89 WDTCTL
=
WDTPW +
WDTHOLD ;
90 Init_CLK() ;
91 Init_Port() ;
92 Init_SPI() ;
93 for(;;)
94 {
95
UCB0TXBUF =
0x55 ;
96
__delay_cycles(280) ;
97 }
98 }
相关文章推荐
- [置顶] 如何更改CSDN博客高亮代码皮肤的样式,使博客看起来更有范(推荐)
- 如何更改CSDN博客高亮代码皮肤的样式,使博客看起来更有范(推荐)
- csdn 普通编辑器 代码样式 代码高亮 高亮代码皮肤更换
- 如何更改CSDN博客高亮代码皮肤的样式,使博客看起来更有范
- 测试一下csdn blog的代码高亮
- csdn 代码样式 代码高亮 代码风格
- 如何改变maven项目的pom文件中默认的主代码目录 以及默认的测试代码目录?
- 设置CSDN博客的标题、域名、皮肤及代码皮肤
- return false,对阻止事件默认动作的一些测试代码
- 测试代码高亮显示
- 关于CSDN博客中的代码高亮显示
- CSDN文章中代码高亮显示
- 测试代码高亮第二次
- 测试Swift语言代码高亮-使用highlight.js
- 经过测试通过csdn的非form搜索代码(SearchMash版)(Copyright © 2007 SearchMash)
- 测试wlm代码高亮插件
- 博客园代码高亮插件(类似csdn的代码插入)
- 测试代码高亮第二次
- csdn 代码样式 代码高亮 代码风格
- 测试一下动态棋谱 这个垃圾CSDN博客, 编辑的时候显示正常, 发表之后只有代码, 妈的