Microsoft Word - ¹ØÓÚMSP430flash×ÔÉý¼¶µÄ³¢ÊÔ.doc

Size: px
Start display at page:

Download "Microsoft Word - ¹ØÓÚMSP430flash×ÔÉý¼¶µÄ³¢ÊÔ.doc"

Transcription

1 MSP430 程序自升级的实现原理及过程 更新 : 01 作者 : 乔海坤微控论坛特约 DC 微控论坛版主 在过去有很多公司或个人对于 MSP430 单片机串口自升级技术都当一个技术机密 而 TI 公布的是汇编语言编写的例子, 在理解上也不便 而在网络上也很难得到公开例程, 这样使得部分 MSP430 用户想实现这个功能时极为艰难 为此, 微控论坛和大家分享如何利用 MSP430 单片机串口自升级的实现实验 希望能够透过这一个实验能给到大家在这方面应用的启蒙和参考 如果你想要优化或增加一些特殊功能, 比如增加密码等功能则需要用户去编写了 如果你对这些程序做了更好的修改优化, 欢迎到微控论坛来与我们一起分享 实验流程 [1] 先往 MSP430 单片机写入一个自升级引导程序 [2] 利用 MC430FUT.EXE 软件下载用户应用程序到 MSP430 单片机 实验工具 : 本次实验采用的是微控的 MC430F14+ 开发板和并口仿真器 单片机型号选用的是 MSP430F147 基础原理 : 首先我们要用 MSP430FET 仿真器在 WE430 上下载一段引导程序到 MCU 上 引导程序需要固定在 FLASH 中一个位置上, 且保证不能被擦除 在本例中, 咱们选择固定在 0Xfa00 后的空间 关于这个固定位置, 用户可以灵活一些 只要后面有空间够放一个引导程序就基本可以了 引导程序工作程序如下 : // 描述 : 引导程序主程序, 此程序首先下载到 MSMP430 单片机中 void main(void) WDTCTL = WDTPW + WDTHOLD; // 关 WDT if(resetvectorvalid()==1) // 判断是否已经下载过应用程序 Page 1 of 13 :MSP430 Flash 程序自升级实验演示

2 Application(); // 执行应用程序 Update(); // 执行升级程序 主程序中主要判断 FLASH 中是否已存在着有应用程序, 如果有应用程序则执行应用程序, 否则执行升级程序 这是基本的引导程序功能 当然要控制是否要执行升级程序的办法有很多, 比如可以通过 IO 来控制等等 从引导程序进入应用程序很简单, 只需要将 PC 值转移到相应的应用程序起始地址位置即可 如果需要升级程序, 进入升级程序后, 首先是初始化串口, 在本例中是使用串口 0 来实现与上位机的通讯, 在这里我采用了查询的方式, 这样做是为了简单, 在引导程序中尽量不使用中断, 如果使用了串口中断, 应用程序中也有相同的串口中断, 处理会比较麻烦 ; 只需将接收到的数据全部写入到 flash 中相应的位置 补充知识在未实验之前, 我想为大这有补充一下关于 MSP430 单片机烧录文件.txt 的知识 下面是一个串口调试的 C 例子和生成烧录.txt 文件内容 至于下程序内容, 在这里不必详细多讲了, 主要实现串口收发实验 #include <msp430x16x.h> void main(void) WDTCTL = WDTPW + WDTHOLD; P3SEL = 0x30; ME1 = UTXE0 + URXE0; UCTL0 = CHAR; UTCTL0 = SSEL0; UBR00 = 0x03; UBR10 = 0x00; UMCTL0 = 0x4A; UCTL0 &= ~SWRST; IE1 = URXIE0; for (;;) _BIS_SR(LPM3_bits + GIE); while (!(IFG1 & UTXIFG0)); TXBUF0 = RXBUF0; // UART0 RX ISR will for exit from LPM3 in Mainloop #pragma vector=uart0rx_vector interrupt void usart0_rx (void) _BIC_SR_IRQ(LPM3_bits); 经 WE430 编译后, 生成的文件内容如下 Page 2 of 13 :MSP430 Flash 程序自升级实验演示

3 A B0 12 0C 40 B0 12 5E 40 B A F2 D B 00 F2 D0 C F2 D F2 D F C F2 40 4A D2 C F2 D D0 D8 00 C FD 37 D F7 3F B1 C0 D FF 注意 后面的 8000 表示地址, 表示下面的内容需要写入从 xf9f2 是应用程序的串口中断 0 的中断向量地址,@F9FE 为应用程序的复位向量地址, q 为结束标志 而在我们往后的更新程序中在 update() 函数就是将收到的以上内容按相应地址写入到 flash 中 实验前准备打开 C:\Program Files\IAR Systems\Embedded Workbench Evaluation 5.0\430\config\ 目录以上地址只相对于我的机子而言, 读者的安装目录可能跟我有所差别 由于我本次用的是 F147 芯片, 所以我要找到 lnk430f147.xcl 文件, 然后分别复制出来两个文件 并分别将改名为 lnk430f147_flashupdate.xcl 用于引导程序工程使用的, 和 lnk430f147_flashapp.xcl 用于用户应用程序工程用的 这样做的原因是为了方便一会实验修改之用 如果是准备好以上的动作, 咱们就开始吧! 引导程序产生在 WE430 编译引导程序工程之前, 我们需要修改刚才一个 lnk430f147_flashupdate.xcl 文件 [1] 修改目的 : 首先我们要修改 lnk430f147_flashupdate.xcl 文件的部分数据, 如下面的红色所示 原单片机默认程序开始地址为 8000H, 现在由于我们要放置一段引导程序的需要, 那么必须将引导程序放到一个指定的地址去 由原来的 8000H(32768) 修改为 FA00H(64000),FA00H 地址开始就是我们引导程序放置的地址 // Constant data -Z(CONST)DATA16_C,DATA16_ID,DIFUNCT=FA00-FFDF // 原为 8000-FFDF -Z(CONST)DATA20_C,DATA20_ID= FA00-FFDF // 原为 8000-FFDF // Code -Z(CODE)CSTART,ISR_CODE= FA00-FFDF -P(CODE)CODE=FA00-FFDF // 原为 8000-FFDF // 原为 8000-FFDF // Interrupt vectors Page 3 of 13 :MSP430 Flash 程序自升级实验演示

4 -Z(CODE)INTVEC=FFE0-FFFF -Z(CODE)RESET=FFFE-FFFF // The end 注意 : 引导程序用的 lnk430f147_flashupdate.xcl 文件中的中断向量和复位地址是没有变的, 也就是说单片机上电的起始地址和中断向量实质是以引导程序为主的 用户程序才是为被调用的 这是本实验原理的要点, 切记! [2] 编译操作 : 在 WE430 建立引导程序工程, 将 FlashUpdate.c 加入工程并进行相关的设置 其中, 在 IAR WE430 的项目选择中, 设置 : Options/Linker/Config/Linker command file/override default/lnk430f147_flashupdate.xcl 文件 然后进行编译, 当编译好后的程序的起始地址就会在 FA00H 地址 那么, 我们如何去确认引导程序成功地放置在我们想指定的地方呢? 嗯, 问得好 方法如下 : 将引导程序用 MSP430FET 仿真器下载到目标板子上, 按运行一下后然后再按停止下来 我们在 WE430 环境中打开 :View/Memory/Flash 窗口, 我们移到大概在 FA00 附近的地址处 如下图所示 从上图可以看出, 在红色箭头处是 FA00 地址, 对应着代码空间处就是我们上面的引导程序了 这个表明我们定位成功了, 呵呵 MC430FU.c 的源程序如下 : /******************************************************************************/ // 关于 MSP430 单片机串口升级实验演示程序 ---- 串口升级引导程序 // 原创发布 : 微控技术论坛 // 发布时间 : 编译环境 : IAR WE430 V4.1 // 声明 : 本程序属原创, 如需转载或引用请在参考文献中说明 /******************************************************************************/ #include <msp430x14x.h> #define RESETVECTORADDR_APP 0xF9FE // 应用程序复位向量地址 /******************************************************************************/ void InitUart(void); void EraseFlash(unsigned int addr); void Application(void); void Update(void); unsigned char WriteFlash(unsigned int addr,unsigned char *pdata, unsigned char length); Page 4 of 13 :MSP430 Flash 程序自升级实验演示

5 unsigned char ReadFlash(unsigned int waddr); unsigned char ResetVectorValid(void); unsigned char AsciiToHex(unsigned char cnum); void uart_send(const unsigned char *data_point); // 描述 : 引导程序主程序, 此程序首先下载到 MSMP430 单片机中 // 输入 : 无返回 : 无 void main(void) WDTCTL = WDTPW + WDTHOLD; // 关狗 if(resetvectorvalid()==1) Application(); Update(); // 判断是否已经下载过应用程序 // 执行应用程序 // 执行升级程序 // 描述 : 应用程序, 将 PC 转移到应用程序的复位向量处 // 输入 : 无输出 : 无 void Application(void) asm(" mov &0xF9FE, PC;"); // 在 C 中调用汇编指令, 实现地址转移 // 描述 : 程序更新 // 输入 : 无输出 : 无 void Update(void) unsigned int i,j; unsigned char RecBuf[50]; unsigned char WriterBuf[16]; unsigned char RecCnt=0; unsigned char RecTemp=0,RxTemp; unsigned long Addr=0; unsigned char NumberFlag=0; //unsigned int Address; InitUart(); uart_send("update Ready!"); // 初始化串口 // 发送确认 /* 在此处根据和上位机软件协议添加擦除 flash 的程序, 由于本人只是验证方法的正确性, 未做此功能 */ /* 下面一段函数为串口数据接收和处理程序 */ while(1) Page 5 of 13 :MSP430 Flash 程序自升级实验演示

6 if(ifg1 & URXIFG0) //MSP430_TX0(RXBUF0); // 将收到的数据发回 PC 机来验证 RxTemp=RXBUF0; RecBuf[RecCnt++]=RxTemp; if(rxtemp==0x0a&&reccnt>0) if(recbuf[0]=='q') //quit //_NOP(); //return; asm(" mov &0xF9FE, PC;"); else //address i=1; Addr=0; while(1) if(recbuf[i]<'0') break; Addr<<=4; Addr+=AsciiToHex(RecBuf[i]); i++; //set address here else //number RecTemp=0; j=0; for(i=0; i<50; i++) if(recbuf[i]<'0') if(recbuf[i]==0x0a) break; if(numberflag) NumberFlag=0; WriterBuf[j++]=RecTemp; else if(recbuf[i]>='0') RecTemp <<= 4; RecTemp += AsciiToHex(RecBuf[i]); NumberFlag=1; if(j>0) //write data Page 6 of 13 :MSP430 Flash 程序自升级实验演示

7 WriteFlash(Addr,WriterBuf,j); Addr += j; j=0; NumberFlag=0; RecCnt=0; RxTemp=0; if(reccnt>50) uart_send("revice Error!"); // 描述 : ASCALL 码转换成字符 // 输入 : unsigned char cnum ASC-II 字符码 // 输出 : unsigned char HEX 码 unsigned char AsciiToHex(unsigned char cnum) if(cnum>='0'&&cnum<='9') cnum -= '0'; else if(cnum>='a'&&cnum<='f') cnum -= 'A'; cnum += 10; return cnum; // 描述 : 发送一字符串往 PC // 输入 :const unsigned char *data_point 字符串数组 // 输出 : 无 void uart_send(const unsigned char *data_point) while(1) while(!(ifg1&utxifg0)); //query tx ready? if(*data_point=='\0') break; else TXBUF0=*data_point; data_point++; Page 7 of 13 :MSP430 Flash 程序自升级实验演示

8 // 描述 : 检查复位向量地址的内容是否为 0xffff // 输入 : 无 // 输出 : 如果复位向量地址内容不为 0xffff, 则返回 1. unsigned char ResetVectorValid(void) if(readflash(resetvectoraddr_app)==0xff&& ReadFlash(RESETVECTORADDR_APP+1)==0xff) // 如果应用程序的复位向量处的内容为 0xffff, 表示没应用程序 return 0; return 1; // 描述 : UART0 初始化,9600 位波特率 / 秒,8 位字符,1 位停止位, 不校验. // 输入 : 无输出 : 无 // 说明一下, 波特率 9600, 时钟源选择为 ACLK. 误码率可能会大些. 如果用户需要可以将选择 // 其他高频时钟源. 这点网友应该要自己修改. 选择高频时钟会使波特率的误码率减低. void InitUart(void) P3SEL = BIT4 + BIT5; // P3.4,5 = USART0 TXD/RXD ME1 = UTXE0 + URXE0; // 使能 USART0 TXD/RXD UCTL0 = CHAR; // 8 位字符 UTCTL0 = SSEL0; // UCLK = ACLK UBR00 = 0x03; // 32k/ UBR10 = 0x00; UMCTL0 = 0x4A; // 波特率调整器设置 UCTL0 &= ~SWRST; // 初始化 USART 状态机 // 描述 : FLASH 擦除操作 // 输入 : 16 位 FLASH 地址 // 输出 : 无 void EraseFlash(unsigned int waddr) _BIC_SR(GIE); // 关闭总中断 FCTL2 = FWKEY + FSSEL0+FN1; FCTL3 = FWKEY; FCTL1 = FWKEY + ERASE; *(unsigned char*)waddr=0; while(fctl3 & BUSY); FCTL3=FWKEY+LOCK; // 选择 DC0 作为 LFASH 操作时钟源,MCLK/2 // 擦除操作 // 虚拟的擦除段操作 _BIS_SR(GIE); // 再次开总中断使能 Page 8 of 13 :MSP430 Flash 程序自升级实验演示

9 // 描述 : FLASH 写操作 // 输入 : unsigned int addr 16 位 FLASH 地址, unsigned char *pdata 数据指针 // 输入 : unsigned char length 数据长度 // 输出 : unsigned char 错误标志 unsigned char WriteFlash(unsigned int addr,unsigned char *pdata, unsigned char length) unsigned char ErrorFlag = 0; unsigned char i; while(fctl3 & BUSY); _BIC_SR(GIE); FCTL2 = FWKEY + FSSEL0+FN1; FCTL3 = FWKEY; FCTL1 = FWKEY + WRT; for(i=0;i<length;i++) *(unsigned char*)addr=*pdata; if(readflash(addr)!=*pdata) ErrorFlag = 1; addr++;pdata++; FCTL1=FWKEY; FCTL3=FWKEY+LOCK; // 清除锁 // 设置 WRT 位为写操作 // 写一个字节 // 验证, 写比较. 正确或错误 // 设置错误标志 _BIS_SR(GIE); return ErrorFlag; // 描述 : 读 FLASH 操作 // 输入 : unsigned int waddr 16 位地址 // 输出 : unsigned char 返回一个字节数据 unsigned char ReadFlash(unsigned int waddr) unsigned char value; while(fctl3 & BUSY); value = *(unsigned char*)waddr; return value; // 描述 : 中断向量列表 #pragma vector=0 interrupt void intec_0(void) Page 9 of 13 :MSP430 Flash 程序自升级实验演示

10 asm(" br &0xF9E0;"); #pragma vector=2 interrupt void intec_1(void) asm(" br &0xF9E2;"); #pragma vector=4 interrupt void intec_2(void) asm(" br &0xF9E4;"); #pragma vector=6 interrupt void intec_3(void) asm(" br &0xF9E6;"); #pragma vector=8 interrupt void intec_4(void) asm(" br &0xF9E8;"); #pragma vector=10 interrupt void intec_5(void) asm(" br &0xF9EA;"); #pragma vector=12 interrupt void intec_6(void) asm(" br &0xF9EC;"); #pragma vector=14 interrupt void intec_7(void) asm(" br &0xF9EE;"); #pragma vector=16 interrupt void intec_8(void) asm(" br &0xF9F0;"); Page 10 of 13 :MSP430 Flash 程序自升级实验演示

11 #pragma vector=18 interrupt void intec_9(void) asm(" br &0xF9F2;"); #pragma vector=20 interrupt void intec_10(void) asm(" br &0xF9F4;"); #pragma vector=22 interrupt void intec_11(void) asm(" br &0xF9F6;"); #pragma vector=24 interrupt void intec_12(void) asm(" br &0xF9F8;"); #pragma vector=26 interrupt void intec_13(void) asm(" br &0xF9FA;"); #pragma vector=28 interrupt void intec_14(void) asm(" br &0xF9FC;"); 下载用户应用程序同样, 要修改 lnk430f147_flashapp.xcl 文件, 打开 IAR 的根目录,C:\Program Files\IAR Systems\Embedded Workbench Evaluation 5.0\430\config\lnk430F147_FlashApp.xcl [1] 修改目的 : 此次修改目的有别于上面的引导程序修改 原为 8000-FFDF 地址现在修改为 8000-F9DF 地址 从地址数上看程序空间变小了, 这样可以保证用户应用程序空间不和引导程序空间相冲突 换句话说, 将原来的 8000-FFDF 空间分成两部分, 一小部分空间用于放置引导程序 一大部分空间用于分给用户应用程序空间使用 Page 11 of 13 :MSP430 Flash 程序自升级实验演示

12 另外, 重要一点就是用户的应用程序的中断向量是虚拟出来的, 这个地址是由用户修改 lnk430f147_flashapp.xcl 文件分配的 ( 见下面修改部分 ) 用户的应用程序的中断向量地址是虚拟的, 再也不是由原来的 FFE0-FFFF 了 而被咱们修改为 F9E0-F9FF 当单片机真正接受到中断时, 单片机中断先跳去真正的中断向量中, 然后再被转移到用户应用程序的虚拟中断向量地址中 修改 lnk430f147_flashapp.xcl 的内容如下 : // Constant data -Z(CONST)DATA16_C,DATA16_ID,DIFUNCT=8000-F9DF // 原为 8000-FFDF -Z(CONST)DATA20_C,DATA20_ID=8000-F9DF // Code -Z(CODE)CSTART,ISR_CODE=8000-F9DF // 原为 8000-FFDF -P(CODE)CODE=8000-F9DF // Interrupt vectors -Z(CODE)INTVEC=F9E0-F9FF -Z(CODE)RESET=F9FE-F9FF // 原为 FFE0-FFFF [2] 编译操作 : 在 WE430 创建用户应用程序工程, 并进行相关的选项设置 其中, 在 IAR WE430 的工程选项中 : [2-1] 设置 : Options/Linker/Config/Linker command file/override default/ lnk430f147_flashapp.xcl 文件 [2-2] 设置 : Options/Linker/Output/ 将输出文件选择为 Other, 使其输出为.txt 文件 [2-3] 编译 : 进行工程编译, 并自动生成了.txt 烧录文件在工程的目录中.txt 文件是生成在工程文件夹的 Debug\Exe\ 位置 Page 12 of 13 :MSP430 Flash 程序自升级实验演示

13 [3] 升级用户应用程序打开微控提供的 MC430FUT.EXE 上位机软件, 将目标板的 UART0 接口 (DB9 端子 ) 通过串口延长线连接到电脑的串口 此次例程中升级实验用的是 UART0 口, 相信很多朋友能够模仿得到此实验 关于上位软件 MC430FUT.EXE, 基于实验的考虑软件在设计上做得比较简单 电脑串口只做数据输出, 并未读回或检验等等动作 所以你必须保证你的目标板子串口硬件是能正常使用的才能实验 将引导程序下载后, 应使 IAR WE430 退出调试模式 接下来是下载应用程序 在 MC430FUT 先选择要下载的.txt 烧录文件, 然后选择你 PC 相连接的 COM 口 然后按 Start 开始下载, 如果目标板子 UART0 硬件是正常的话程序会顺利下载到板子中 下载完成后, 板子程序就可以执行 本次实验我们所提供的文件如下 如需要这些文档, 请到微控论坛上下载 更新日期 描述 2008/12/8 首发版 Page 13 of 13 :MSP430 Flash 程序自升级实验演示

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

(3)ADC12Ó¦Ó÷¶Àý

(3)ADC12Ó¦Ó÷¶Àý MSP430 单片机入门应用系列例程 V1.0 (3)ADC12 应用范例策划 : 微控设计网 DC 例 3.1 ADC12- 使用外部参考电压 简述 : 使用单通进行 ADC 转换, 电压参考源来自外部 ADC12 的 Vr+=VeREF+,Vr-=Avss; Vr+ Vr- 是 ADC12 模块的最大值和最小值的参考电压源 当输入模拟电压信号等于或高于 Vr+ 时,ADC12 转换满幅输出, 此时输出值为

More information

Microsoft Word - MSP430 Launchpad 指导书.docx

Microsoft Word - MSP430 Launchpad 指导书.docx Contents 3... 9... 14 MSP430 LAUNCHPAD 指导书 3 第一部分第一个工程 New Project File > New > CCS Project Project name: ButtonLED Device>Family: MSP430 Variant: MSP430G2553 Project templates and examples : Empty Project

More information

MSP430 串行异步通讯原理与实现 南京航空航天大学 魏小龙 本讲讲述串口功能与连接的实现 大多数 MSP430 芯片都有硬件异步通讯功能, 有一些器件有两个通讯端口, 也有少数没有 没有硬件串口的芯片可以实现软件 ( 模拟 ) 串口 下面表格为 430 系列芯片串口的情况 系列芯片 F11 系列

MSP430 串行异步通讯原理与实现 南京航空航天大学 魏小龙 本讲讲述串口功能与连接的实现 大多数 MSP430 芯片都有硬件异步通讯功能, 有一些器件有两个通讯端口, 也有少数没有 没有硬件串口的芯片可以实现软件 ( 模拟 ) 串口 下面表格为 430 系列芯片串口的情况 系列芯片 F11 系列 MSP430 串行异步通讯原理与实现 南京航空航天大学 魏小龙 本讲讲述串口功能与连接的实现 大多数 MSP430 芯片都有硬件异步通讯功能, 有一些器件有两个通讯端口, 也有少数没有 没有硬件串口的芯片可以实现软件 ( 模拟 ) 串口 下面表格为 430 系列芯片串口的情况 系列芯片 F11 系列 F12 系列 F13 系列 F14 系列 F15 系列 F16 系列 串口数量 0 1 1 2 1

More information

untitled

untitled 0571-89908088 89908091 www.lierda.com MSP430X11X2,MSP430X12X2 :1.8V-3.6V -:1MHz 2.2V 200 ua -:0.7 ua -(RAM ):0.1uA 6us 16, 125us -DCO -DCO - 32kHz - 16MHz - - 3 / 16 Timer_A 200ksps 10 A/D,,,. (USART0)(MSP430X12X2),

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc EEPROM 功能使用方法 1 适用产品 : 1.1 SM39R16A2/ SM39R12A2/ SM39R08A2 1.2 SM39R4051/ SM39R2051 1.3 SM39R04G1/ SM39R02G1 2 EEPROM 功能概述 : 2.1 使用 code flash 仿真为 Internal EEPROM, 在程序执行时, 可将 code flash 作为 data flash 储存数据使用

More information

MSP430x11x1 T A -40 ~ SOWB 20 TSSOP (DW) (PW) MSP430F110IDW MSP430F110IPW MSP430F112IDW MSP430F112IPW + F11x 30kΩ

MSP430x11x1 T A -40 ~ SOWB 20 TSSOP (DW) (PW) MSP430F110IDW MSP430F110IPW MSP430F112IDW MSP430F112IPW + F11x 30kΩ MSP430F11x 1.8-3.6V 1.6uA@4KHz 200uA@1MHz 2.2V 5 ( 0.8uA RAM 0.1uA) 6us 16 RISC 125nS 32KHz / 16 A/D MSP430F110 1KB+128B 128B RAM MSP430F112 4KB+256B 256B RAM 20 (SOWB) 20 (TSSOP) MSP430 16 RISC CPU 16

More information

MSP430F KB+256B flash 10KB RAM 64 Quad Flat Pack QFP MSP430x1xx SLAU049 MSP430 MSP RISC CPU 16 DCO 6 MSP430x15x/16x/161x A/D 12 D/A

MSP430F KB+256B flash 10KB RAM 64 Quad Flat Pack QFP MSP430x1xx SLAU049 MSP430 MSP RISC CPU 16 DCO 6 MSP430x15x/16x/161x A/D 12 D/A MSP430x15x, MSP430x16x MSP430x161x 1.8V 3.6V 1MHz 2.2V 280 A 1.6 A RAM 0.1 A 6 S 16 125 DMA 12 A/D 12 D/A / 16 A / 16 B USART1 UART SPI USART0 UART SPI I 2 C / Bootstrap Loader MSP430F155: 16KB+256B flash

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

MSP430单片机简介

MSP430单片机简介 . September 14, 2012 . 1 简介 MSP430 单片机特点超低功耗 2 MSP430 时钟系统 3 MSP430 的端口 4 定时器看门狗定时器定时器 A 5 示例 MSP430 单片机特点. 简介 MSP430 单片机是美国德州仪器 (TI) 公司 1996 年开始推向市场的一种 16 位超低功耗 具有精简指令集的混合信号处理器 它将多个不同功能的模拟电路 数字电路模块和微处理器集成在了一个芯片上

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

从MCS51向AVR的快速转换.PDF

从MCS51向AVR的快速转换.PDF MCS51 AVR MCS51 AVR ATMEL AVR RISC MCS51 AVR 1 MHZ 1MIPS 8MHZ AVR 224MHZ MCS51 FLASH EEPROM ISP WatchDog AVR MCS51 AT90S1200/2313 AT89C1051/2051 AT90S4414/8515 AT89C51/52 PCB / AVR C ICCAVR60 AVR C IAR

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

JLX

JLX PRODUCT:LCD MODULE. Model No.: JLX177-006 Product Type: 1.77 inch QVGA TFT Modoule. 产品规格书 晶联讯研发研发部 : Written By Checked By Approved By 客户名称 : 结构电子核准 地址 : 深圳市宝安区西乡宝安大道东华工业区 A3 栋 6 楼电话 :0755-29784961 Http://www.jlxlcd.cn

More information

HCS08微控制器上有关内存分配的几个问题.doc

HCS08微控制器上有关内存分配的几个问题.doc HCS08 shylion@gmail.com HCS08 Tiny Small shylion@gmail.com HCS08...- 1-1.1. HCS08...- 2-1.1...- 2-1.2 RAM...- 5-1.3 FLASH...- 5-1.4 Vectors...- 6-1.2....- 7-1.3. HCS08 Tiny Small...- 9-1.4. heap segment...12

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

Microsoft Word - 430实验说明.doc

Microsoft Word - 430实验说明.doc 实验一 :LED 灯显示实验 实验电路 : led_one: 实验结果为实现 1 个灯闪烁 led_all_timer: 实验结果为控制 8 个 LED 灯同时闪烁 led_run: 实验结果为实现简单流水灯 led_run_timer: 实验结果为实现流水灯以三种流动方式和四种流动速度的不同组合而进行点亮 " 流动 " led_pwm: 实验结果为用从 P2.3 和 P2.4 输出的 PWM 波形驱动

More information

微雪电子 Open407V-D 实验手册 Open407V-D 实验手册 目录 准备工作... 2 ADC+DMA... 2 CAN1 TO CAN2-Normal... 3 DCMI_OV DCMI_OV I2C... 6 L

微雪电子   Open407V-D 实验手册 Open407V-D 实验手册 目录 准备工作... 2 ADC+DMA... 2 CAN1 TO CAN2-Normal... 3 DCMI_OV DCMI_OV I2C... 6 L Open407V-D 实验手册 目录 准备工作... 2 ADC+DMA... 2 CAN1 TO CAN2-Normal... 3 DCMI_OV7670... 4 DCMI_OV9655... 5 I2C... 6 LCD-HY32D_FSMC... 7 Nand Flash_PCB0... 8 Nand Flash_SCB0... 9 SD_FatFS... 11 SDIO... 12 SPI...

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 whym1987@126.com! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

More information

Microsoft Word - MSP_430学习笔记.doc

Microsoft Word - MSP_430学习笔记.doc MSP430 学习笔记 (1) 这只是我在学习 TI 公司生产的 16 位超的功耗单片机 MSP430 的随笔, 希望能对其他朋友有所借鉴, 不对之处还请多指教 下面, 开始 430 之旅 讲解 430 的书现在也有很多了, 不过大多数都是详细说明底层硬件结构的, 看了不免有些空洞和枯燥, 我认为了解一个 MCU 的操作首先要对其基础特性有所了解, 然后再仔细研究各模块的功能 1. 首先你要知道 msp430

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

untitled

untitled www.mcudriver.cn 1.1 / 1) WinAVR20070525 2) Source Insight 3) ISP 4) PonyProg ISP 5) USB 6) 1.2. MCU ATMEGA16 1.3. AVR8 1.4 LED0~LED7 1 1.5 #include // Program 1.1 LED.C #define uchar unsigned

More information

第 1 章 MSP430 快速入门 因为最近转入 MPS430 的技术支持工作, 所以现在开始学习 430 的开发 由于之前用过 51, 也用过 TI 的 ARM CORTEX-M3, 但是就是没有用过 TI 的 430, 所以将 我学习 430 的过程写出来, 给像我一样之前没有 430 开发经验

第 1 章 MSP430 快速入门 因为最近转入 MPS430 的技术支持工作, 所以现在开始学习 430 的开发 由于之前用过 51, 也用过 TI 的 ARM CORTEX-M3, 但是就是没有用过 TI 的 430, 所以将 我学习 430 的过程写出来, 给像我一样之前没有 430 开发经验 目录 第 1 章 MSP430 快速入门...1 1.1 准备工作... 1 1.2 MSP430 的时钟系统... 3 1.3 DCO 时钟校准...3 1.4 硬件最小系统...4 1.5 在 IAR 下新建工程...4 i/11 第 1 章 MSP430 快速入门 因为最近转入 MPS430 的技术支持工作, 所以现在开始学习 430 的开发 由于之前用过 51, 也用过 TI 的 ARM CORTEX-M3,

More information

超级好的移值过程介绍: μC/GUI在MSGl9264液晶上的移植

超级好的移值过程介绍: μC/GUI在MSGl9264液晶上的移植 : C GUI MSGl9264 C GUI MSGl9264 µc GUI Micrium µc OS µc GUI * [1] µc GUI Windows µc GUI VC Windows µc GUI µc GUI µc GUI µc GUI MSGl9264 µc GUI 1 µc GUI MSP430F149 MSP430F149 16 (RISC 125ns ) ( ADC ) 2KB

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

Microsoft Word - SC16C550应用实例.doc

Microsoft Word - SC16C550应用实例.doc SCC0 应用实例. 概述 SCC0 是 PHILIPS 推出的一款高性能的 UART 芯片, 其具有 字节 FIFO 和 IrDA 编 / 解码模块 本文将结合电路和程序演示如何使用 SCC0 接收和回送 UART 数据 读者可以根据图 制作 SCC0 的 DEMO 版 ; 在 KEIL C 开发环境下, 可利用 PVRD 的 SOFTICE 功能, 方便调试 SCC0 的各种功能. 电路分析 图

More information

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

C C

C C C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please

More information

MSP430 MSP430 F149 MSP430F149 P USART MSP430F PWM 63#

MSP430 MSP430 F149 MSP430F149 P USART MSP430F PWM 63# MSP430 MSP430 0002 63# 710061 2003 7 63# 710061 1 MSP430 MSP430 F149 MSP430F149 P USART MSP430F149 485 232 PWM 63# 710061 2 MSP430 MSP430 16 FLASH,, 16, 64K,, 16 14 12 6 P USART DCO, 8M FLASH,, JTAG FET(FLASH

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

Microsoft Word - SoftICE用户指南.doc

Microsoft Word - SoftICE用户指南.doc SST89E/V5xRD2 SST89E/V554RC SST89E/V564RD SST89E516RD2 单片机 SoftICE 用户指南 1 介绍 SoftICE 的英文是 Software In Circuit Emulator, 翻译成中文是 在电路上的软件模拟, 它是 SST 公司为方便 SST 用户使用 SST89E/V5xRD2 SST89E516RD2 SST89V516RD2 SST89E/V554RC

More information

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc EEPROM 应用说明 1 适用产品 :SM59D03G2 SM59D04G2 series 2 应用范围 : 针对需使用 EEPORM 功能替换 STC 89C5X 的应用及汇编语言之范例程序 ( 使用内部扩充内存为暂存区 ) 3 功能说明 : 3.1 本公司上述产品 EEPORM 功能皆可替换 STC89C5X, 仅需对特殊功能缓存器定义 ( 详见表 1) 及 ISP 命令定义 ( 详见表 2)

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

新・解きながら学ぶC言語

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

Microsoft Word - AVR32 UC3 isp下载.doc

Microsoft Word - AVR32 UC3 isp下载.doc AVR32 UC3 ISP 下载 2008 年 4 月 1 AVR32 UC3 系列控制器在出厂时在内部 Flash 里已经固化了一个 USB DFU bootloader, 可以通过 AVR32 UC3 系列控制器的 USB 接口, 利用内部固化的 USB bootloader 进行 ISP(In-System Programming) 下载 一 Bootloader 环境 图 1 Bootloader

More information

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc 自定义下载应用说明 一 适用产品 :SM59XX 系列 SM59D XX 系列 SM59R XX 系列二 应用方式 : 可以让使用者自定义 command 作为进入 ISP 刻录的通关指令, 透过 UART 连接 ISAP 软件做联机更新三 操作说明 ( 使用 SM59D04G2 为例 ): 1. ISAP 操作方式 : 1.1 先将主程序及 ISP 服务程序烧进 MCU 中 1.2 将 MCU 放至系统版上,

More information

Microsoft Word - IAR-LED.doc

Microsoft Word - IAR-LED.doc IAR 下使用 Wiggler 和 Multi-ICE 进行 JTAG 调试和 FLASH 下载 基于 S64-DEK Rev2.0 By Mcuzone 首先到 www.iar.com 下载并安装 IAR 的 32K 限制的 KITSTART 学习版, 注意安装的时候请附带安装 Macraigor 的驱动, 不然的话请直接到 IAR 的安装目录下的 driver\ Macraigor 下面双击 ocd_dbgr.exe

More information

Microsoft Word - MAN2023A_CH_APPONE.doc

Microsoft Word - MAN2023A_CH_APPONE.doc AT91 softpack 1.5 代码解读 基于 SAM7X EK 综合应用代码解读 文档编号 文档版本 Rev. A 文档摘要 基于 AT91SAM7X EK 开发板的代码解读,GPIO H161T01 代码解读 关键词 AT91SAM7X256 系统板 创建日期 2010 07 14 创建人员 Cust126 审核人员 Robin 文档类型 公开发布 / 开发板配套文件 版权信息 Mcuzone

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

ebook39-6

ebook39-6 6 first-in-first-out, FIFO L i n e a r L i s t 3-1 C h a i n 3-8 5. 5. 3 F I F O L I F O 5. 5. 6 5. 5. 6.1 [ ] q u e n e ( r e a r ) ( f r o n t 6-1a A 6-1b 6-1b D C D 6-1c a) b) c) 6-1 F I F O L I F ADT

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

<4D6963726F736F667420576F7264202D205BCAE9B0FCCDF85DC8FDC9FAC8FDCAC0CAAEC0EFCCD2BBA82E646F6378>

<4D6963726F736F667420576F7264202D205BCAE9B0FCCDF85DC8FDC9FAC8FDCAC0CAAEC0EFCCD2BBA82E646F6378> 本 文 由 派 派 txt 小 说 论 坛 提 供 下 载, 更 多 好 书 请 访 问 http://www.paipaitxt.com/ 三 生 三 世, 十 里 桃 花 作 者 : 唐 七 公 子 内 容 概 要 远 古 众 神 凋 零, 现 今 只 存 了 龙 族 凤 族 九 尾 白 狐 一 族 还 留 了 些 后 人 狐 帝 白 止 膝 下 得 了 四 个 儿 子 一 个 女 儿 这 唯

More information

プログラムの設計と実現II

プログラムの設計と実現II UNIX C ls mkdir man http://www.tj.chiba-u.jp/lecture/prog2/ Ctrl+x, Ctrl+s ( )..[4]% gcc Wall o hoge hoge.c..[5]%./hoge 1 : 1 2 : 2 3 : 3 4 : 0 6..[6]% (! )..[4]% gcc Wall o hoge hoge.c..[5]%!g gcc Wall

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

最新执法工作手册(九十八)

最新执法工作手册(九十八) ..................... I ...................................... II ............................... III ' ' 24 9 11 [2000]25 12 2001 1 20 ?br>

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

Microsoft Word - AN3259C

Microsoft Word - AN3259C www.maxim-ic.com.cn 应用笔记 3259 DS31256 Envoy - 寄存器转储列程 概述本应用笔记提供了将 DS31256 的寄存器 排队程序 描述符和 FIFO RAM 的内容转储到一个文件的程序代码 这些数据在 DS31256 无法正常工作时非常关键, 为进一步的研究和调试提供了重要信息 例如, 寄存器数据经过转储后可以显示每个 DS31256 寄存器的设置 为了保证正确地设置器件,

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

extend

extend (object oriented) Encapsulation Inheritance Polymorphism Dynamic Binding (base class) (derived class) 1 class Base { int I; void X(); void Y(); class Derived: public Base { private: int j; void z(); Derived

More information

本实验需要用到两个特征值, 两个特征值的属性各不相同, 我们同样在 SimpleGATTProfile 中新建即可, 接下来就开始吧 新建特征值表 : 表 3.3 串口透传特征值属性 长度 属性 UUID 功能 (byte) SIMPLEPROFILE_CHA R6 15 可读可写 FFF6 服务器

本实验需要用到两个特征值, 两个特征值的属性各不相同, 我们同样在 SimpleGATTProfile 中新建即可, 接下来就开始吧 新建特征值表 : 表 3.3 串口透传特征值属性 长度 属性 UUID 功能 (byte) SIMPLEPROFILE_CHA R6 15 可读可写 FFF6 服务器 串口透传 前言 : 有了上面的基础, 接下来就可以打造无线串口功能了 实现平台 :WeBee CC2540 模块及功能底板 图 3.117 网蜂 CC2540 模块及功能底板实验现象 : 两台 PC 通过串口连接 CC2540, 通过设置好串口调试助手, 就可以相互收发信息 也可在一台 PC 利用两个串口实现这个功能 实验讲解 : 整个实验用到两个模块, 一个作为服务器 一个作为客户端, 重点为下面两个方向

More information

如何生成库文件 (MDK 和 IAR) 问题 : 该问题由某客户提出, 主要是想自己做一个库给第三方, 但是又不想让别人得到源代码, 不知道如何去做, 尝试了几种办法, 发现都会有些问题. 调研 : 目前 ST 已经提供了各种开源的库文件 ( 如 USB/Ethernet 等等 ), 但是部分客户依

如何生成库文件 (MDK 和 IAR) 问题 : 该问题由某客户提出, 主要是想自己做一个库给第三方, 但是又不想让别人得到源代码, 不知道如何去做, 尝试了几种办法, 发现都会有些问题. 调研 : 目前 ST 已经提供了各种开源的库文件 ( 如 USB/Ethernet 等等 ), 但是部分客户依 如何生成库文件 (MDK 和 IAR) 问题 : 该问题由某客户提出, 主要是想自己做一个库给第三方, 但是又不想让别人得到源代码, 不知道如何去做, 尝试了几种办法, 发现都会有些问题. 调研 : 目前 ST 已经提供了各种开源的库文件 ( 如 USB/Ethernet 等等 ), 但是部分客户依然有使用 IDE 生成可加密的库文件的需求, 因各种 IDE 之间在生成库的方法上有些不同, 调用的方式也有细微的差别,

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

untitled

untitled 2005...8...8...8...9...10...10...10...10...10...10...10...11...11...11...11...11...11...11...12...12...12...12...12...13...13...13...13...13...13...14...14...14...14...14...15...15...15...15...16...16

More information

河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统

河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统 网络文化的现状与存在问题 网络文化的现状与存在问题 郭海荣 互联网自 20 世纪 90 年代进入普通百姓的视野以来, 迅速得以普及 迅速发 展的网络改变了和正在改变着社会的方方面面, 并产生了全新的文化形式, 即网 络文化 网络文化是随着计算机联网而产生的一种新的文化现象, 它是信息时代 的特殊文化 作为人类社会最新的文化传播工具, 互联网体现了对自由的追求, 开启了新的自由空间, 为文化的平等发展开辟了空间

More information

《將進酒》

《將進酒》 00 年 教 學 設 計 獎 勵 計 劃 將 進 酒 參 選 編 號 :C076 學 科 名 稱 : 適 合 程 度 : 高 一 簡 介 設 計 目 的 1. 此 教 案 之 設 計, 目 的 是 讓 學 生 清 楚 明 白 古 體 詩 與 近 體 詩 之 不 同 處, 並 且 以 多 媒 體 輔 助 教 學, 提 高 學 生 學 習 的 興 趣. 藉 課 件 之 運 用, 促 進 學 生 在 學

More information

ebook39-5

ebook39-5 5 3 last-in-first-out, LIFO 3-1 L i n e a r L i s t 3-8 C h a i n 3 3. 8. 3 C + + 5.1 [ ] s t a c k t o p b o t t o m 5-1a 5-1a E D 5-1b 5-1b E E 5-1a 5-1b 5-1c E t o p D t o p D C C B B B t o p A b o

More information

Microsoft Word - Twin-CANÀý³Ì½éÉÜ.doc

Microsoft Word - Twin-CANÀý³Ì½éÉÜ.doc 样例程序 :TwinCAN 模块使用 1. 简介本程序实现功能如下 : 利用 TwinCAN 模块的两个 CAN 节点 A B, 配置内部自带的 32 消息对象, 可修改各个对象的属性, 如传输方向 ( 发送 接收 ),ID,MASK, 隶属节点名及传输数据内容 由于 DAVE 生成的 CAN 相关代码会超过 KEIL uvision 软件评估版本的限制大小 因此需安装完整版本的 KEIL uvision

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

<4D6963726F736F667420576F7264202D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

<4D6963726F736F667420576F7264202D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63> 臺 北 市 立 松 山 高 級 工 農 職 業 學 校 資 訊 科 專 題 製 作 報 告 題 目 : 反 彈 空 間 指 導 老 師 : 余 耀 銘 學 生 : 廖 國 銓 趙 信 瑋 中 華 民 國 102 年 5 月 摘 要 在 這 高 速 科 技 的 起 飛 下, 科 技 都 建 立 起 於 基 礎, 有 些 人 把 這 基 礎 轉 為 理 論, 教 給 大 眾 學 習 ; 有 些 人 利

More information

6020

6020 6020 ... 1 1.1... 1 1.2... 1 1.3 6020... 2 1.3... 5 1.3.1... 5 1.3.2 ISA I/O (S1)... 5 1.3.3 (J4,5,6)... 6 1.3.4... 6... 9 2.1... 9 2.2... 9 2.3 COMPILING AND LINKING... 11 2.3.1 MICROSOFT C MICROSOFT

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

Microsoft Word - 实用案例.doc

Microsoft Word - 实用案例.doc 计 算 机 系 统 应 用 2009 年 第 12 期 嵌 入 式 Linux 下 温 湿 度 传 感 器 的 设 计 与 实 现 1 Design and Implementation of Temperature and Humidity Sensor Based on Embedded Linux 陈 博 刘 锦 高 ( 华 东 师 范 大 学 电 子 科 学 技 术 系 上 海 200241)

More information

Microsoft Word - 34.doc

Microsoft Word - 34.doc 基于 MSP430 单片机和 OLED 的现场通用显示系统设计 田鑫 1, 刘金涛 1, 张凯临 ( 1. 中国海洋大学信息科学与工程学院电子工程系山东青岛 266100 2. 中国海洋大学信息科学与工程学院海洋技术系山东青岛 266100) 2 摘要 : 针对自容式和手持式的现场仪器, 提出了基于有机发光显示屏 (OLED) 的通用全彩色显示系统设计 分析了 OLED 显示驱动芯片 SSD1332

More information

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

微雪电子 Open103Z 实验手册 Open103Z 实验手册 目录 准备工作 BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B GPIO_Key_L

微雪电子   Open103Z 实验手册 Open103Z 实验手册 目录 准备工作 BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B GPIO_Key_L 目录 准备工作... 3 8BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B20... 7 GPIO_Key_LED... 8 I2C... 9 LCD-HY32D_FSMC... 10 Nand Flash...11 NorFlash... 12 PS2... 13 RTC... 14 SD_FatFS... 15

More information

untitled

untitled 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-1-1 C int main(void){ int x,y,z; int sum=0; double avg=0.0; scanf("%d",&x) ; scanf("%d",&y) ; scanf("%d",&z) ; sum=x+y+z ; avg=sum/3.0; printf("%f\n",avg); system("pause");

More information

Microsoft Word - MSP430BSL 使用说明.doc

Microsoft Word - MSP430BSL 使用说明.doc REV 3.0 首先感谢您购买了本公司的 MSP430 开发工具 我们将为您提供最完善的售后服务和最全面的技术支持 下图是 MSP430BSL 的产品清单 1 MSP430BSL*1 2 DB9 针对孔串口连线 *1 3 10 芯扁平连线 *1 4 附有 BSL 软件的光盘 *1 技术支持 Tel:+86-571-87176990 www.zoglab.com 1--26 一 BSL 的介绍 什么是

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

1

1 1 2 3 4 5 GNUDebugger 6 7 void main(int argc, char **argv){ vulncpy(argv[1]); return; } void vulncpy(char *a){ char buf[30]; strcpy(buf, a); return; } *argv[1] buf Shellcode *argv[1]... &buf &buf 8 strcpy

More information

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 C C trio@seu.edu.cn C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

6. 监控程序是否可清除 MSP430 存储器信息 7. 通过 USART 接收的命令和数据是否需要回送确认 监控程序的操作说明 : 监控程序运行于 KHZ 的低频晶振的低频模式下,ACLK 做 USART 的波特率时钟源 监控程序及示例程序的建立

6. 监控程序是否可清除 MSP430 存储器信息 7. 通过 USART 接收的命令和数据是否需要回送确认 监控程序的操作说明 : 监控程序运行于 KHZ 的低频晶振的低频模式下,ACLK 做 USART 的波特率时钟源 监控程序及示例程序的建立 www.microcontrol.cn 微控论坛翻译义工文章 MSP430 单片机实现远程升级翻译 : 李北山湖南科大整理 : DC 版主 原文 : Texas Instruments SLAA341.pdf 此翻译只供参考, 一切以原文为准. 最后更新日期 2010.117. 前言有什么方法对 MSP430 flash 存储器更新而不用 JTAG 和 BSL 现在这个问题已经得到解决 : 一段检测监控程序通过

More information

PCM-3386用户手册.doc

PCM-3386用户手册.doc PCM-3386 BBPC-4x86 10/100M PC/104 (Lanry technology Co. Ltd. Zhuhai) 38 1012836 (Address: Room 1012,Linhai Building,No. 38,west of Shihua Road,Zhuhai City,Guangdong Province,China) (post code)519015 (phone)0756-3366659

More information

2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel

2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel 3.2.3 MPASM PIC 35 35 #include include #include MPASM include PIC MPLAB C:\Program Files\MPLAB IDE\MCHIP_Tools PIC.inc 3-01 #include ; PIC16F877A #include math.asm ; 3-01 MPASM MPLAB

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

CC Debugger使用手册

CC Debugger使用手册 深圳市微雪电子有限公司 CC Debugger 使用手册 www.waveshare.net Xuwenjie 2012/12/8 目录 第一章 : 概述... 3 1.1 特性... 3 1.2 支持设备... 3 1.3 支持软件... 4 1.4 技术参数... 4 第二章 : 硬件描述... 5 2.1 1 USB 接口... 5 2.2 2 LED 指示灯... 5 2.3 3 RESET

More information

Tel: , Fax: STR-15 STR bps 2400bps 4800bps 9600bps STR : 500mW 2.ISM 433

Tel: , Fax: STR-15 STR bps 2400bps 4800bps 9600bps STR : 500mW 2.ISM 433 Tel:086-21-50807785, 50273226 Fax:086-21-50807785-807 http://www.sendbow.com TEL +86-021-50273226 50807785 13816690692 FAX:+86-021-50807785-807 167 E-mail:mailto:technology@sendbow.com web:http://www.sendbow.com

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

秘密大乘佛法(下)

秘密大乘佛法(下) 印 度 佛 教 史 (25) 101 / 12 / 24 釋 清 德 秘 密 大 乘 佛 法 ( 下 ) 印 度 佛 教 思 想 史 第 十 章 第 三 節 金 剛 乘 與 天 行 一 秘 密 大 乘 稱 金 剛 乘 採 取 表 徵 主 義 1 三 四 五 方 佛 大 乘 佛 法 興 起, 傳 出 十 方 現 在 的 無 數 佛 名 現 在 有 佛 在 世, 可 以 滿 足 佛 涅 槃 後, 佛 弟

More information