版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
序言上有一个的MCU标准插槽,该标准插槽有一个详细定义的物理接口和引脚定义。序言上有一个的MCU标准插槽,该标准插槽有一个详细定义的物理接口和引脚定义。USBSTM32F205,STM32F207四种芯片的设计。本设计方案在将来芯片升级的时候,可STM32系列芯片的使用。操作系统部分,以FreeRTOS为主,介绍了操作系统的原理,并距离说明如何uC/OS-iiRT-Thread目STM32系列芯片的使用。操作系统部分,以FreeRTOS为主,介绍了操作系统的原理,并距离说明如何uC/OS-iiRT-Thread目(新增内容 1.11.2 2.12.2BOM 45 STM32第二部分:硬件篇(修改1.实验板资源(第一节和第二节合并需要修改2.电路板配置(增加3.单元电路5 STM32第二部分:硬件篇(修改1.实验板资源(第一节和第二节合并需要修改2.电路板配置(增加3.单元电路((需要修改(附录应该在全书后面,另外原理图应该作为附录第三部分:工具篇(软件篇用词不当1.IDE开发环境(IAR2.仿真器(Jlink,ST-link,coLink等等3.ISP[4. 上位机演示软件1.基本实验(和原文大体相同GPIO实验(按键,跑马灯,旋转编码,波动开关,蜂鸣器定时器实验(PWM波形输出,系统滴答等UART实验(RS232,RS485及红外ADCDAC实验(输出三角波,正弦波,电位器输入1.基本实验(和原文大体相同GPIO实验(按键,跑马灯,旋转编码,波动开关,蜂鸣器定时器实验(PWM波形输出,系统滴答等UART实验(RS232,RS485及红外ADCDAC实验(输出三角波,正弦波,电位器输入CANPS/2USB通信(虚拟串口,U盘SDFM高级实验(面向应用 示波器(ADC (以上实验可根据要求增删嵌入式操作系统 示波器(ADC (以上实验可根据要求增删嵌入式操作系统1.STM322.STM323.STM3BOM4.STM32BOM5.6.7.8.9.第一部第一部1焊接1.1回流焊机焊STM32PCB板,贴片使用回流焊机进行焊接,不耐温的元件使用电烙铁手料,高温焊接可能导致元件变形。高温可能导致损坏的元件有OLED显示器和红外传感器HSDL3201,这些需要使用电烙铁手工焊接。1.1回流焊机焊STM32PCB板,贴片使用回流焊机进行焊接,不耐温的元件使用电烙铁手料,高温焊接可能导致元件变形。高温可能导致损坏的元件有OLED显示器和红外传感器HSDL3201,这些需要使用电烙铁手工焊接。焊锡膏的PCB板上。回流焊是指,将摆有元件的PCB板放置在回流焊机里面,设定STM32的电路板正面和反面都有期间,所有一块电路板需要焊接两边,芯片生产顺序为:1清洗钢网2反面刮锡3摆放反面元件4反面回流焊接67812344意:网孔细长处,必须沿着网孔的方向再刮一遍5抬钢网时,如果出现电路板粘附在钢网上时,不能用手将电(BGA片如果不合格,要重新清理,重新刮锡671.2手工焊让我们来了解一些常用的焊接贴片元件所需的一些基本工具(1,从左至右,第一排为:热风枪、镊子、焊锡丝。第二排为:电烙铁、松香、吸锡带11铁头一般采用紫铜材料制造.为保护在焊接的高温条件下不被氧化生锈,常正式焊接前应先进行镀锡处理.方法是将烙铁头用细纱纸打磨干净,用同新烙铁头镀锡的方法一样进行处理.当仅使用一把电烙铁时,可以利用烙铁头铁头的温度相对越低,反之温度就越高。[全文]成完整的电子电路。它在电路中用字母"IC"(也有用文字符号"N"等)表示。[全文]9.这时可以用酒精棉球将电路板上有残留松香的地方擦干净.其他贴片焊接所需的这时可以用酒精棉球将电路板上有残留松香的地方擦干净.其他贴片焊接所需的1.PCB进行检查,确保其干净(。对其上面的表面油性的手印以及氧化物之类的要进行清除,从而不影响上锡。手工焊接PCBPCB22.上可以分为两种——3345对管脚较多的元件进行对脚或多脚固定焊接5对管脚较多的元件进行对脚或多脚固定焊接3.66774.9。此外,如果对焊接结果不满意,89895.1010116练程度。如果条件允许,如有旧电路板旧芯片之类的可以拿来多熟练接插件焊练程度。如果条件允许,如有旧电路板旧芯片之类的可以拿来多熟练接插件焊接手工焊1.1PCB1.2PCB2.1 PCB 2.2PCB PCB 2.3PCB 2.3PCB PCB3.1 3.2 4.14.2 1.5mm 4.14.2 1.5mm 4.34.4 5.15.1.1 5.15.1.15.1.25.25.2.15.2.25.25.2.15.2.2PCB5.2.35.2.45.2.55.2.45.2.5 6.16.2 6.16.2 SMDDIP焊 323310寸不同请使用264等封装)或焊点度控制在260至6.36.31~3mm PCB7.1PCB 1~3mm PCB7.1PCB 直径大于 7.2PCB 7.2PCB PCB7.3 ICICBOM2焊接2.1焊接1.把PCB电路图制作成两个版本。一个只保留TopOverlay一个只保留.PCBPCBPCBPCB3焊接(草稿1.1.3焊接(草稿1.1.能生巧,不易出错。每张图应该有个表格:内容包括程中完成追踪本工序段的测试(有的步骤图没有测试环节,如电源测试,短路测试等电感(一个人LED灯(一个人难以焊接的芯片(红外,加速度计,音频,FM,晶振 难以焊接的芯片(红外,加速度计,音频,FM,晶振 5%4实物效5测辅助5测辅助ST-link下载器,3.串口4.DC9V电源5.USB-6.RS232- 7.示波器8.PS/2SD10.带麦克的耳机11.网口线12.标准核心板13.标准开发平台辅助软件:IAR,串口调试助手 5.1 短路检测:焊接完成后,先不安装核心板。检测3.3V,5V,12V 四个检测点之间是否短路,任何两点出现短路,都不允许如果出现短路的情况,不允许上电,记录短路信息,并马上2.电压测量:短路测试通过后,不要安装核心板。给电路板接上电源。检测第一条所述的3个检测点3.3V,5V,12V对地的电压。如电压和标准值误差0.2V以内,认为正常,如果超过0.2V(包括0.2V)认为故障。测量结束后,给电路板接认为故障。测量结束后,给电路板接上 数据线供电,并进电压3.安装核心板:将有标准版标签的核心板安装在电路板上,并重复一步,如不存在短路,上电和供电均可),重复第二步,如常,则核心板会自动运检测程序。如果检1秒内行,需要立刻断电并上 检测。上电后会显示“中国海洋大学”等字样。上电OLED2秒内没有反应,断电,记录并上5.LED检测:OLED5.LED检测:OLED显示“LEDTEST”字样。自检程序的下一LED,依次从左向右依次点亮LED,每个LED点亮的时间约为200秒。如果LED不亮的情况,记录并上报。LED检测程序的运行时间5秒6HMI检测SWRot)6HMI检测SWRot)TEST”字样.接下来进行的是按键码开关和旋转编码器的按下复位键,则程序重新运行。重新运行 检测程序 检测程序运行完成后,进入按键检测此时,按下某一个按键KEY1,LED灯会全部点亮,松开后LED按键全部波动任意一个拨码LED等会全部点亮拨下后会全部熄灭。在按键全部松开码盘全部拨下的时候旋转编码器,则LED会被顺序点亮。按下旋转编码器,LED等会亮。 会显示相应的操作如果操作正确的情何一个输入设备没有反则记录并HMI测试的时30秒。30秒后,用户可以使用按键选择菜7.RS232检测:OLED显示“RS232TEST”字7.RS232检测:OLED显示“RS232TEST”字样串口线一头接入电脑一头RS232DB9插头PC机端打开串口程序,设置波11522,数据为8为,停止位1,无校验位。此会显示word!”PC机器发送数据,OLED上会显示按下键,会进入下一步检8.RS485检测:OLED显示“RS485TEST”字样将串口线经过RS232转接器,然后PC机器。设置波特率为11522,数据上显示,并且发送会PC机器。需要J5,J4的跳线帽跳到RS485按下 键,会进入下一步检测9.IRDA按下 键,会进入下一步检测9.IRDA检测:OLED显示“IRDATEST”字样。需要将J5,J4的跳线帽IRDA端。需要另外STM32综合开发平台的个标准板。将红外模准。接受功能测试:此时按下标准KEY1按键OLED会显KEY1同LED0会被点亮功能如果按下实验班键,则标准版LED0会点亮,并OLED有显10.CAN检测:OLED显示“CANTEST”字样。USB-CAN,ZLG-CAN显示下位机发送上来的数据。如果上位机向下发送数据,则上显示按下键,会进上显示按下键,会进入下一步检11.DS18B20检测:OLED显示“DS18B20TEST”字样,然后OLED当前的温此时可以上网或者使用智能手机得到当前的温度数值差别较大(大于5摄氏度),则记录按下 键,会进入下一步检测按下 键,会进入下一步检测 蜂鸣器检测:OLED会显示“BuzzerTEST”字样。然后蜂鸣几首歌曲《最炫民义勇军进《西游记插曲如果你听力正常,却一直没有蜂鸣器发出任何声音,则记录按下 键,会进入下一步检测13.实时时钟检测:OLED会显示“RealTimeTEST”,OLED会显一个可以通过按键设置并且可以如果时钟没有走时或者走时不准确,记录按下 键,会进入下一步检测.按下 键,会进入下一步检测.TESTOLED会显三轴的加速度数值。根据板子向左倾斜或者向右如果数值不变,则记录按下 键,会进入下一步检测15.E2PROM检测:OLED会显示“E2PROMTEST”和“FAILED”字样。记录即可按下 键,会进入下一步检测16PS/2键盘:OLED会显示“PS/2TEST”字样。此时,16PS/2键盘:OLED会显示“PS/2TEST”字样。此时,可以断开电源PS/2键盘(PS/2键盘不支持热插拔)。下次上电后,程序会从检测处开始运行。此时,键盘输入的数据可以在OLED上显示。按 键,会进入下一步检17.电位器检测:OLED会显 TEST”字样。此时,用螺丝旋转调电位器上的螺丝,可以在OLED上显示当前的电压数值。如果变化,则视为按下 键,会进入下一步检测18.插入SD卡,OLED会显示“SDCARDTEST”字样。此时会进行会自动检测卡的功能。然后会显示“Success”或者字样。此时应该在接上USB按下 键,会进入下一步检测19.USB功能:OLED会显示 TEST”字样。此时实现一个免驱动SD卡读卡器。此时电脑上会出现一个U盘图样,可以读写SD卡。60秒内一直未出现,则说明故障按下 键,会进入下一步检测OLED TEST”字样此时会对FM芯片和芯片的I2C进行测试,如果芯片的I2C进行测试,如果测试通过,插入耳机到LINE_OUT,可以听广播音,可以通过旋转编码器调频,并且在OLED显示当前的频道。I2C不通过,则在OLED上显示按下 键,会进入下一步检测21.AUDIO功能:OLED会显示“AUDIOTEST”J2的跳线帽跳到AUDIO可以播放SD卡上的一段音并且将MIC插入MIC_L,MIC_R,LIN_I,可以在耳机里面听到声按下 键,会进入下一步检测22.DAC功能:OLED会显示“DACTEST”字样此时用示波器测量 脚,即此时用示波器测量 脚,即第五行左侧看是否会有正弦波的波形现。KEY1键,会进入下一步功能:OLED会显“PWMTEST”字样22.此时,用示波器测1516脚,15脚在倒数第三行左脚倒数第三行右即第倒数第三行右即第五行是否会有方波的波形出波波形的占空比还在变23.以太网功能插上网线。按下键,会进行以太网测试。此时,将您的电为在交换机出找到一根网线,接在交换机出找到一根网线,接到开发板上,看开发板的网口灯是否PC机的浏览器里输10以打开一个网页打开命令行界你还可以在开始->运行,输输入:ping看是否pingPingping输入telnet按键功能:KEY1:下一个KEY2KEY3输入telnet按键功能:KEY1:下一个KEY2KEY3上一KEY4重新5.2核心板测短路检测:焊接完成后,检测P21脚和2脚和P330脚是短路。做记录,如果短路马上上插入USB-MiniAB数据线电源等是否点亮如果点低1P330脚之间的电压是否是3.3V,测量P2230脚之间的电压是否是5V,并作记录,如果超过标准0.2V录并上报第一步和第二部测试通过后,将核心板插接到一个标有基板标签的基进行基板测试中第一步的短路测果测试通则上电,进行第二部的电压测试。如果测试不通过,则马上 如果上述两步都通过,则可 如果上述两步都通过,则可PC下载程序。程序有两个版ST-Link下载版本和J-Link下载版本。你需要根据你手上拥有的下器选择程序版本。如果下载不通过,请检查下载器和PC机器接,下载器和开发板的链接,程序版本是否正确。如果都无则需要马上断电并此时,应该将J2J3上的跳线帽跳到JTAG端 下载程序成功后,断开在线调试,断开电源,并拔下仿 按基板测试的测试流程,从第三步开始测试5.3故障排除流1.短在所有的故障中,短5.3故障排除流1.短在所有的故障中,短路是非常严重的故障,比较容易出现的电源和地短路。出现短路的主要故障点为USB。另外,加芯片芯片都容易出现短路的状况。短路需要细心的排查以一次性2.核心板下主要原因为晶振焊接不良,重新焊接晶振可能会解决这种问如果仍然不能解决,一般需要重新更换核3.OLED不能显OLED无法显示不一定是OLED焊接不良引起的,如果其他的I2C件出现焊接不良,可能也能导致OLED无法显示。一般需要将I2C阻去掉4.USB无法通一般是由于Mini 焊接不良引起的,重新焊接能够解决本问题5.以太网无法通如果基座出现该问题,多半是由于以太网的接口焊接不良引等等第二部分:硬STM32综合开发平台采用基板+核心板的设置方式。基板作为载体,可以完成MCU的核心板,只要满1SD等等第二部分:硬STM32综合开发平台采用基板+核心板的设置方式。基板作为载体,可以完成MCU的核心板,只要满1SDSTM日历按键1USB2.0OTG,MiniAB有I2S数字接口。11.1OLED显示屏,I2C1SD卡座,SPI1CANDB91RS-485DB91RS-232PC1IRDA1EEPROMM24C02,I2C11444个用户状态指示灯11RTC1PS/212X101DS18B205V,12V电源。31.CPU,STM32F107VC2.5VCPUADCDAC32X152STM32STM32F107STM32F207芯片的设计,能够兼容STM32F107VC和STM32F207VC。此外,核心板上有一个以太网的PHY芯片,RTL8201BL。以太网芯片和MCU的接口为接口。1.RX+RX-,TX+,TX-为调制后的以太网信号,LED0LED3RJ45么和MII相关的管脚将不能使用。不能正常运行。在下载固件的时候,不能正常运行。在下载固件的时候,J1跳线帽不能短接。MCU123456789ETH1ETH18MII接口。I2SJTAGPA15PB3,共用PD4PD5,这些在基板上也通过跳线帽来选择。3MCU32X15的插槽和核心板ETH1ETH18MII接口。I2SJTAGPA15PB3,共用PD4PD5,这些在基板上也通过跳线帽来选择。3MCU32X15的插槽和核心板4个LED灯,OLED,蜂鸣器),存储器(SD卡),一线制芯片(DS18B20),还可以外接PS/2键盘或鼠标。另外,基板还有一个扩展接口,拥SPI总线,2PWM3个GPIO,2路模拟输入和1路模拟数输出。下面对其功能进行简要介绍。包括3.3V,12V和5V稳压电路。其中,3.3V为系统大部分电路供电。5V3个电源的工作状态,点亮表示工作正常。还有4个测试点(3.3V,5V,12V,GND)MiniUSB接口供电,DC9V的变压器供电(变压器电源范围为7V–40V,推荐使用9V,最好不到大于12V)。RS232(2),RS485(3),红外(3)3RS232可以直接和PC机进行通讯(DB9插头:2.TXD,3.RXD,5.GND),RS485定义和主流的RS232485接口线同(DB91.D+2.D-5.GND),RS485都使用串口CANDB接口,CANDB接口,2CANL,5.GND7CANHUSB-CANUSB可以PC机的USB电源为开发平台供电。1.1”OLEDI2C总线,地址为(0111100X)。4个按键,按下按键为低电,释放为高电平(KEY0-KEY3)。4LED灯,低电平点亮,高电平熄灭(LED0-LED3)。4个拨码开关,上拨为低电平(SW0-SW3),中间位置和下拨为高电平。11PS/2接口的母口插座,可以支持PS/2接口的鼠标和键盘。I2C除了上文提到的OLED外,还包括PCF8563(日历芯片),地位为1010001X。I2CI2C总线,所以您不能同时和两个设备进行通信,因FMSi4720FMAMWM8978FM模块和音频模块,才能够收听或者发送广播。控制接口为I2C。3个模拟输入通道,分别为麦克左声道,麦克右声道,线路输入。4个模拟口,一个I2S音频数据接口。LED1USB-A1USB-AMiniBPCPCDC9V对基板供电,有一个电源开关可以控制电源USBDC9VUSB数2STM32F107/207R15R17R23C18C31C18C31R15R17R233BOOT在核心板上可以通过电阻R19、来配置启BOOT1 0 0说明,一般只R22,此时系统从3BOOT在核心板上可以通过电阻R19、来配置启BOOT1 0 0说明,一般只R22,此时系统从20JlinkST-调试需要6以通过电路板的J2和J3进行选择。如果采用SWD方式,只需要 NRST(复位)三个管因此在调试音频模块的时候说x0MainFlash01System从系统存储器启动,可以进行11SRAM线帽跳到左侧AUDIO,你只能使用SWD方式,可以使用音频模块的I2SI2SI2S5RS485IRDA7.7.提供5V电源DAC123456789 如果其不安装在核心板上,可以通过MiniUSB插座为核心板供电。 5Poweri321324HeaderVREF+R13 分别提供3.3V,5V和12V的稳压电源,并且有三个测试点提供测试。J1DC电源的供电端口,桥式整流桥用来防止反接,F1限流,U2631 1 15 42567 5Poweri321324HeaderVREF+R13 分别提供3.3V,5V和12V的稳压电源,并且有三个测试点提供测试。J1DC电源的供电端口,桥式整流桥用来防止反接,F1限流,U2631 1 15 4256789电电电电电9V输2VINTRIM 414SK342345232 0. 43是全部点亮的,而且亮度正常。43.3V,5V,12VGND可以测试电源 NCNCNCNC191 VSS5514SK342345232 0. 43是全部点亮的,而且亮度正常。43.3V,5V,12VGND可以测试电源 NCNCNCNC191 VSS55 123456789 1uFBEADLED6LED7为数据指示灯。LED6表示发送出数据,LED7MCU 485A+6 485A- RS485RS485VCC 21546 37 3472815UART3_TX(fullremap)DR54637281 7 123456789 1uFBEADLED6LED7为数据指示灯。LED6表示发送出数据,LED7MCU 485A+6 485A- RS485RS485VCC 21546 37 3472815UART3_TX(fullremap)DR54637281 7 108495DConnector RS232的电平转换芯片为MAX232CE。外部接口为DB9.有两个LED用来显示接受到数据,RXDDB9接口,定义PC13452C1916LED1114 2 RS232的电平转换芯片为MAX232CE。外部接口为DB9.有两个LED用来显示接受到数据,RXDDB9接口,定义PC13452C1916LED1114 2 T1INT1OUTT2IN7913 8R1OUTR2OUT VEE布布布。近近近近近5VRS232 CAN16 738495DConnectorCAN7 108495DConnector51847362VREF5CAN电路图MCU端口为:它的工作温度范围-55℃至+125°C,其中-10°C至+85°C的测量精度为±0.5℃。21 MCU51847362VREF5CAN电路图MCU端口为:它的工作温度范围-55℃至+125°C,其中-10°C至+85°C的测量精度为±0.5℃。21 MCU 85555 1212121234343434Inter_S_GND4321 6784321MCU端口为LED91 2 3 4 MCU端口为85555 1212121234343434Inter_S_GND4321 6784321MCU端口为LED91 2 3 4 MCU端口为 1524RCodec(7脚MCUC旋转一周,可以产生24个脉冲,即每旋转151166C377 1524RCodec(7脚MCUC旋转一周,可以产生24个脉冲,即每旋转151166C377 电电AADC1入范围,还是DAC的输出范围,都为2.5V。12PS/2PC6PS/2母口,PS/2的鼠1 34562134电电AADC1入范围,还是DAC的输出范围,都为2.5V。12PS/2PC6PS/2母口,PS/2的鼠1 3456213465VCVCMCU13987123使用的MCU端口为14地址二进制位为0111100X,16进制为0x78(写地址),0x79(读地址)。OLED的Reset(低有效15NXPPCF8563T,能够提供从年月日,小时分钟秒32.768KHzI2C接口。PCF8563T使用的MCU端口为14地址二进制位为0111100X,16进制为0x78(写地址),0x79(读地址)。OLED的Reset(低有效15NXPPCF8563T,能够提供从年月日,小时分钟秒32.768KHzI2C接口。PCF8563T的I2C器件地址为二进制表示(1010001X),160xA2,读地址为0xA3。PCF8563T的第7脚按默认配置为32.768KHz,为FM提供时钟。基板断电后,71234 23764521 PCF85638765 16E2PROMI2C的二进制地址为(1010111X),16进制写地址为0xAE,读地址为0xAF。16E2PROMI2C的二进制地址为(1010111X),16进制写地址为0xAE,读地址为0xAF。123658VSSM24C02-17LIS35DE,可以测量三个轴的加速度。I2C加速度计有2个中断输出线,PE11和PE12。18USB接口采用的是MiniUSBOTGUSBUSB转接线,可以和其他的USB从设备进行通信,如U盘,USB鼠标等。此时,综合开发平台需要为外接的始为外接设备供电。PB9用来检测系统是否过流,正常的时候为高电平,指示灯LED13LED13会点亮,PB管脚会检测到低电平,此时应该将PE1设置为高电平停止对外供电。USBPCUSB主设备通信。PC机的PA11D+,PA12D-,PA10IDOTGUSB 123OUTOUT45LED13LED13会点亮,PB管脚会检测到低电平,此时应该将PE1设置为高电平停止对外供电。USBPCUSB主设备通信。PC机的PA11D+,PA12D-,PA10IDOTGUSB 123OUTOUT4512345 ToPowerSupplyR3215KUSB主设备电源控制USB主设备过流检测USBD电源VBUS19RTL8201BL。MCUMIIR27680 LED0 1245 RD+LED3678 9RJ45的PDF查查查查查查查 MDIO 98 765432RX+31 ???TX+ LED0 1245 RD+LED3678 9RJ45的PDF查查查查查查查 MDIO 98 765432RX+31 ???TX+ 1亮,当发送或者接收到数据的时候,绿色LED闪烁。MCUSMNSMNRESETB20wolfsonmicroWM8978。WM8978的控制总线为I2C总线,I2C0011010X。160x34,写地址为JTAG方式进行调试和下载。此时如果您的仿SWD方式即可。WM8978I2SDATA2ADCDATDACDAT。MCUI2S3_SD。WM_GPIO1WM897815脚,I2C的控制接口编程输出。AUD_SDMCU91PB5。AUD_SD也接到了WM897810DACDATWM8978I2S接口配置为模拟输入通道,WM_GPIO为低电平,SN74LVC1G125I2S接WM8978的音频输入的数字信号,可以进行录音的操作。WM8978I2SWM_GPIO为高电平,可以进行播放音乐的操作,1235Y40(2(4(291235Y40(2(4(29(19(23(253530 20AUXR) WM897822OUT324OUT4FM收音机工作在接收状WM8978L2R2FM收音WM8978OUT3OUT3模拟输出通道会将声音的模拟信号传送给FM收音机模块。21FMSiliconLaboratoriesSi472020小节所述,收音机WM8978FM收音机和音址,二进制表示为1100011X,16进制表示为:写地址为0xC6,读地址为0xC7。收9RCLKPCF8563T7CLKOUT。Si47205RSTMCUPE0,FM22SDMCUFM9123182347 5 SCLK/SCLK 8CardMCU12345678913151719Header9123182347 5 SCLK/SCLK 8CardMCU12345678913151719HeaderDAT1SW0SW11627384952SPIPWM3GPIO,路2SPIPWM3GPIO,路MCU5V5VSPIPWM输出PWM输出68第三部分:工1IARIAREmbeddedWorkbenchforARM(下面简称IAREWARM)是一个针对XLINKRTOSC-SPYIAREWARM环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。比较其他的ARM开发环境,IAREWARM1.1.1新建IAR工程及下载与调.....BS.BSPLibra添加两个工作组之前应先将这两个文件夹复制在工程文件夹“test”下(以后码,包括CPULibrary”中添加的文件是STM326.main函数文件,在这里面编程来实现我们想要达到的效果6.main函数文件,在这里面编程来实现我们想要达到的效果先写好,也可添加文件后,在工程里编写,结果图如下*这里需要说明的是:$*这里需要说明的是:$OJ_DI$ IARIARIARIARLibraryLibraryOptionC/CCompiler里面,Preprocessor选项夹。IncludedirectoriesDebugger栏,SetupDebugger栏,SetupSWDVectorVector简要叙述Keil工具的使用2介绍ST-link的驱动安装。Co-link的驱动。IAR的配置,Keil介绍ST-link的驱动安装。Co-link的驱动。IAR的配置,KeilCoIDE3ISP 第四部1跑马灯STM32I/O口的高低电平控制了,本章将通过一个经STM32STM32的I/O口最为输出使用的方法。STM32F107LEDLED9,LED10交替闪烁,实现类似跑马灯的效果 STM32I/O每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/(GPIOx_BSRR)16位复位寄存器(GPIOx_BRR)32(GPIOx_BSRR)16位复位寄存器(GPIOx_BRR)32(GPIOx_LCKR)。I/O端口的特定硬件特征,────────I/OI/032位字被访问(不允许半字或字节访问)GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生 硬件连该实验的硬件电路在STM32F107开发板上默认是连接好了的。LED7 软件程序设intmain(void){ 软件程序设intmain(void){{}}void{RCC_APB2PeriphClockCmd(LED_CLK,LED2_GPIO|||GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=}RCC_APB2PeriphClockCmd(LED_CLK,LED2_GPIO|||GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=}#define#define4#defineLED0_PORT#defineLED1_PORT#define#define#define(RCC_APB2Periph_GPIOD|#define#define#define#defineLED0_PORT- =LED0_PORT->BSRR #define#defineLED1_PORT-=LED1_PORT->BSRR=#define#defineLED2_PORT-=LED2_PORT->BSRR=#defineLED3_PORT-#defineLED3_PORT->BSRR=#defineLED3_PORT->BSRR=x=0,1,2,函数为灯亮函数,Led0Off()—Led3Off()函数为灯灭函数,voidDelayMs(int这些函数在stm32107_bsc.c及stm32107_bsc.h中均有定义,可参3.2按键输入3.2.1STM32I/OIDRI/O口状STM32F107开发4个按键:KEY0,KEY1,KEY2,KEY3来控制板载LED灯:LED7,LED8,LED9,LED10的亮灭。它们是一一对应关系:其中,KEY0LED7,按一次灭,再按一次亮。3.2.2硬件连KEY1PE3,KEY2PE4,KEY3PE5;LED7PD12,LED8PD13,3.2.3软件3.2.3软件程序#includeint{charled[5]={0,0,0,0,0};{{casecasecase3:case3:case}}}void{GPIO_InitTypeDefRCC_APB2PeriphClockCmd(KEY_CLK,GPIO_InitStructure.GPIO_Pin=KEY0_GPIO|KEY1_GPIO||GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;}u8{staticu8key_up1;//{key_up=0;{{key_up=0;{return}else{return}else{return}else{return}}elseif(KEY0PressUp()&&return0;//无键按}KEY1PressUp()&&KEY2PressUp()程序中大多函数在前一章中均有描述,这里只说明一下KEY_GPIOInit()函KEY_SCAN()函数,KEY_GPIOInit()负责配GPIO端口及其时钟,其中GPIO_InitStructure数据结构包含所有GPIO端口配置所需各项。函数GPIO_Init则实现某个端口的配置3.3独立看门狗部自带了两个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG)。这3.3.1STM32独立看门3.3.1STM32独立看门狗STM32F107内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也作,并且对时间精度要求较低的场合。WWDG最适合那些要求看门狗在精确计IWDG●●●0x0003.3.2硬件连STM32内部进行,不需要外部电路。但是考虑3.3.3软件程序根据任务要求,参考程序如下void{IWDG_SetPrescaler(IWDG_Prescaler_64);//分频数为64IWDG_Enable();//使能开门}void{IWDG_Enable();//使能开门}void{}intmain{{if(KEY_SCAN()==}}IWDG_Feed函数用来喂狗,因为STM32的喂狗只需要向寄存器写入3.4窗口看门狗3.4.1STM32窗口看门狗T63.4.1STM32窗口看门狗T607位的递减计数器数值在控制寄存器中)被刷新,那么也将产生一个MCU复位。这表明递减计数器需要在一个有WWDG主要特●●──●3.4.2硬件连2个外部的3.4.3软件程序void{NVIC_InitTypeDefNVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel=WWDG_IRQn;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;}void{void{{}}void{RCC_APB2PeriphClockCmd(LED_CLK,ENABLE);}intmain{{//8M/4096/8=244Hz,4ms}}}}WWDG_Init函数为窗口看门狗初始化函数,用来设置WWDG的初始化3.5定时器中断TIM7等基本定时器。在《STM32参考手册》里面,定时器1/5的篇幅,足见其重要性。本章将利TIM3的定时器中断来LED8的翻转,在主3.5.1STM32通用定时器16位自动装载计数器构成。它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(PWM)。使用定时器RCC时钟控制器预分频器,脉16位向上、向下、向上/16位可编程(可以实时修改)1~65536之间的任意PWM生成(边缘或中间对齐模式●────●●─如下事件发生时产生中断/DMA:更新:计数器向上溢出─●●─如下事件发生时产生中断/DMA:更新:计数器向上溢出/向下溢出,计数器初始化(/外部触发触发事件(计数器启动、停止、初始化或者由内部外部触发计数)───●●3.5.2硬件连3.5.3软件程序void{NVIC_InitTypeDefNVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;}void{if(TIM_GetITStatus(TIM3,TIM_IT_Update)=={}TIM_ClearITPendingBit(TIM3,}void{}TIM_ClearITPendingBit(TIM3,}void{RCC_APB2PeriphClockCmd(LED_CLK,ENABLE);TIM_TimeBaseStructure.TIM_Period=500;TIM_TimeBaseStructure.TIM_Prescaler=周期为1/1000,计数器周期为0.5sTIM_TimeBaseStructure.TIM_CounterMode=}intmain{{}}LED1取反。定时器初始化函数主要设置}}LED1取反。定时器初始化函数主要设置TIM3TIM3PWM输出STM32TIM3STM32的高级定时器TIM1来产生PWM输出。TIMER1PWM波,并用示波器来检测。 PWM简脉冲宽度调制(PWM)PulseWidthModulation的缩写,简称脉宽STM32的定时器出了TIM6和TIM7外,其他的定时器都可以用来产生PWMTIM1TIM87PWM输出。而4PWM输出,这样,STM32可以最多同时30PWMTIM1CH3PWM输出,如果要 硬件连STM32F107I/O口分配,TIM1PE13口上,3.3PWMSTM32F107PWM2GND 软件程序设void{ 软件程序设void{//PWMGPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//复用功能GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOE,&GPIO_InitStructure);GPIO_PinRemapConfig(GPIO_FullRemap_TIM1,}void{/*EnableKeyButtonGPIOPort,GPIO_LEDandAFIOclock*/}void{/*Timebaseconfiguration*/TIM_TimeBaseStructure.TIM_Period=TIM_TimeBaseStructure.TIM_Prescaler=0;TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);/*Channel3ConfigurationinPWMmode*/TIM_OCInitStructure.TIM_OutputState=TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Set;TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCIdleState_Reset;TIM_OCInitStructure.TIM_Pulse=key;TIM_OC3InitTIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Set;TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCIdleState_Reset;TIM_OCInitStructure.TIM_Pulse=key;TIM_OC3Init/*TIM1enablecounter*/TIM_CtrlPWMOutputs(TIM1,}u16{{return}{return}{return}{return}return5000;//无键按}void{/*SystemClocksConfiguration/*ConfiguretheGPIOports*/while(1){key=}}GPIO_Configuration函数配PWM输出端口,并配置这是因为TIM1_CH3通道是以I/O复用的形式连接到PE13PWM_Configuration函数则是用来设置TIM1_CH3PWM模式并使能4阶实4阶实4.1串口据。主要实现如下功能:STM32通过串口3(USART3)和上位机的对话,使STM32在收到上位机发过来的字符串后,可以其他字符不变,字母大写与小写4.1.1串口简MCU的重要外部接口,同时也是软件开发重要的调试手段,其重STM325路串口。串双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组使用多缓冲器配置的DMA方式,可以实现高速数据通信。串口的最基本设置就是波特率的设置。STM324.1.2硬件连原理图如图4.1所示:PD8PD9i13452iiLED14798R1OUTR1INR2OUT4.1.2硬件连原理图如图4.1所示:PD8PD9i13452iiLED14798R1OUTR1INR2OUTR80 VEE4.1.3软件程序void{USART_InitTypeDefGPIO_InitTypeDefGPIO_InitStructure;NVIC_InitTypeDefUSART3上时钟USART_DeInit(USART3);//为配置做准USART_InitStructure.USART_WordLength=USART_InitStructure.USART_StopBits=给1uF=|RCC_APB2Periph_AFIO,ENABLE);=|RCC_APB2Periph_AFIO,ENABLE);|GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOD,GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_Init(GPIOD,NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;}voidusartSendStr(char{while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);{{while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);{while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==}}intmain{intchar{{for(i=0;i<LenMax;{if(RxBuffer[i]>='a'&&RxBuffer[i]<='z')temp=RxBuffer[i]+('A'-'a');elseif(RxBuffer[i]>='A'&&RxBuffer[i]<='Z')temp=RxBuffer[i]+('a'-'A');temp }RxFlag=}}}void{RxFlag=}}}void{断{/*ReadonebytefromthereceivedataregisterRxBuffer[RxCounter++]=if(RxBuffer[RxCounter-1]=='^'||RxCounter==15{RxCounter=RxFlag=}}if(USART_GetITStatus(USART3,USART_IT_TXE)!=RESET&&{/*Writeonebytetothetransmitdataregister*/if(TxCounter==RxCounter){RxCounter=TxCounter=}}}3(函数usart3Init的初始化与前面章节基本类似,可以首先在串口中收到“WelcometoOUC!能以及开启串口3的可以首先在串口中收到“WelcometoOUC!能以及开启串口3的NVIC中断。这些函数名是什么,可以在启动文件startup_stm32f10x_cl.s里面找到。4.2DAC4.2.1STM32DAC数字/模拟转换模块(DAC)12位数字输入,电压输出的数字/模拟转换DAC模式下,2个通道可以独立地进行2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。DAC主要特每个通道都有DMA功能●●●●●●●●●●4.2.2硬件连本章通过DAC的通道2(PA5)来输出波形,因此需要自备的连接线,一 4.2.3软件程序void{ 4.2.3软件程序void{TIM_TimeBaseInitTypeDef//ARRTIM_BaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_BaseInitStructure.TIM_RepetitionCounter=0;TIM_TimeBaseInit(TIM2,&TIM_BaseInitStructure);TIM_PrescalerConfig(TIM2,0x0,TIM_PSCReloadMode_Immediate);//时钟分频系数36000,所以定时器时钟为2KTIM_ARRPreloadConfig(TIM2,ENABLE);//使能ARR预装载缓TIM_SelectOutputTrigger(TIM2,TIM_Cmd(TIM2,}void{=DAC_InitStructure.DAC_OutputBuffer==DAC_InitStructure.DAC_OutputBuffer==}一共有八个。六个是定时器触发:TIM2,TIM4,TIM5,TIM6,TIM7和TIM8。剩下两个是:EXTI9和软件触发。如果使用定时器就要编相应的定时器函DAC_InitStructure.DAC_Trigger=DAC_Trigger_T2_TRGO;//6作为外部触发源。输出信号频率:360000/(0x8C9F+1)=1KHz。以自定义输出波形。就不需要设置这个参数,或者设置为DAC_InitStructure.DAC_OutputBuffer,及是否使用输出缓存。其STM32DAC无需外部运放就可以直接驱动负载。这里一般设置成DAC_OutputBuffer_Disable,即关闭外部缓存。void{DAC_InitStructure.DAC_Trigger=DAC_Trigger_Software;=DAC_InitStructure.DAC_WaveGeneration==DAC_TriangleAmplitude_2047;//幅值2047DAC_InitStructure.DAC_WaveGeneration==DAC_TriangleAmplitude_2047;//幅值2047DAC_Cmd(DAC_Channel_2,//}int{floatx=0.0;while(1){dac_date=(u16)(1023.0*cos(x)+1024.0);x=x+0.01;if(x>x=DAC_SetChannel2Data(DAC_Align_12b_R,dac_date);}}ADC实 STM32ADC STM32ADCSTM321~3ADC(STM32F101/1021ADC),ADC可以独立使用,也可以使用双重模式,以提高采样率。STM32ADC12位A18162个A/D转换可以单次、连续、扫描或间断模式执行。ADC16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。否则将导致结果准确度下降。ADC主要特12ADC●●●●●●●●●●●──μs)μs)STM32F102xxUSB型产品:时56MHz1μs(28MHz1μs(48MHz1.2μ72MHz1.17μ●●●ADC供电要求:2.4VADC输入范围:V≤ ≤ 硬件连本章通过ADC1的通道6(PA6)来读取外部电压值,连接原理图如图4.3。STM32F1073.3V电源与电位器来获得改变的电3.3V电源、电位器与地连起来,这里还 硬件连本章通过ADC1的通道6(PA6)来读取外部电压值,连接原理图如图4.3。STM32F1073.3V电源与电位器来获得改变的电3.3V电源、电位器与地连起来,这里还 软件程序设int{floatSystemInit();//设置系/*Systemclocks/*NVIC/*GPIO/*ConfiguretheUSART3123printf("\r\nUSART3print /*DMAchannel1printf("\r\nUSART3print /*DMAchannel1DMA_InitStructure.DMA_PeripheralBaseAddr=ADC1_DR_Address;DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC;DMA_InitStructure.DMA_BufferSize=1;DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;DMA_InitStructure.DMA_MemoryInc=DMA_InitStructure.DMA_Mode=DMA_Mode_Circular;DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;DMA_Init(DMA1_Channel1,&DMA_InitStructure);/*EnableDMAchannel1==/*ADC1ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;ADC_InitStructure.ADC_ScanConvMode=ENABLE;ADC_InitStructure.ADC_ContinuousConvMode=ENABLE;ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;ADC_InitStructure.ADC_NbrOfChannel=1;ADC_Init(ADC1,/*ADC1regularchannel6configuration/*EnableADC1DMA*//*EnableADC1ADC_Cmd(ADC1,/*ADC_Cmd(ADC1,/*EnableADC1resetcalibarationregister*//*ChecktheendofADC1resetcalibrationregister*//*StartADC1calibaration*//*ChecktheendofADC1calibration*//*StartADC1SoftwareConversion*/ADC_SoftwareStartConvCmd(ADC1,ENABLE);{/*PrintfmessagewithADvaluetoserialportevery1secondad_value=((float)AD_value*2.50)/4096.0;printf("ThecurrentADvalue=%1.2f\r\n",ad_value);}}intputchar(int/*Printfwhile(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);return}块的实验,也一定程度上反映了STM32的功能强大。DMA,ADC模块进行了配置,具体设置含义请参考工程文制显示转换成了十进制显示ad_value=((float)AD_value*2.50)/4096.0。CAN通讯本章介绍STM32的CAN通讯功能,实现了CAN发送与接收的功能,同时CAN通讯本章介绍STM32的CAN通讯功能,实现了CAN发送与接收的功能,同时通过LEDLED7不CAN软件中一直收到“1122CAN发送正常。点击CAN软件中的“发送”,LED9熄灭,说明程序进入了中断;LED8不停地闪 STM32bxCAN简bxCANCAN(BasicExtendedCAN)的缩写,它支持CAN协议2.0A2.0BCPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。对于安全紧要的应用,bxCAN提供所有支持时间触发通信模式所需的硬件功能。bxCAN主要特●●波特率最高可达1兆位/秒3SOF时刻的时间戳其它STM32F103xx系列产品中有14个过滤器组FIFO溢出处理方式可配置●●──●●●时间触发●●●管4.4.1硬件连USBCAN-I/II智能图如图4.4所示。1 47362VREF 54.4.2软件程序u8CAN_Configuration(void){4.4.1硬件连USBCAN-I/II智能图如图4.4所示。1 47362VREF 54.4.2软件程序u8CAN_Configuration(void){CanTxMsgTxMessage;CAN_FilterInitTypeDefu32u8TxMailBox=CAN_InitStructure.CAN_TTCM=DISABLE;CAN_InitStructure.CAN_ABOM=DISABLE;CAN_InitStructure.CAN_AWUM= CAN_InitStructure.CAN_NART=DISABLE;CAN_InitStructure.CAN_RFLM=DISABLE;CAN_InitStructure.CAN_TXFP=DISABLE;CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;CAN_InitStructure.CAN_BS1=CAN_BS1_3tq;CAN_InitStructure.CAN_BS2=CAN_InitStructure.CAN_PrescalerCAN_InitStructure.CAN_NART=DISABLE;CAN_InitStructure.CAN_RFLM=DISABLE;CAN_InitStructure.CAN_TXFP=DISABLE;CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;CAN_InitStructure.CAN_BS1=CAN_BS1_3tq;CAN_InitStructure.CAN_BS2=CAN_InitStructure.CAN_Prescaler=4;CAN_FilterInitStructure.CAN_FilterNumber=CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;CAN_FilterInitStructure.CAN_FilterFIFOAssignment= //FIFO0CAN_FilterInitStructure.CAN_FilterActivation=TxMessage.StdId=0x00;TxMessage.ExtId=0x123;TxMessage.IDE=CAN_ID_STD;TxMessage.DLC=2;TxMessage.Data[0]=0x11;TxMessage.Data[1]=0x22;TxMessage.Data[2]=0x33;TxMessage.Data[3]=&&(i{}{}{}return}externvolatileu8{}{}{}return}externvolatileu8void{CanRxMsgRxMessage;RxMessage.StdId=0x00;RxMessage.IDE=0;RxMessage.FMI=0;RxMessage.Data[0]=0x00;RxMessage.Data[1]=if((RxMessage.StdId==0x00)&&(RxMessage.ExtId==&&((RxMessage.Data[1]|RxMessage.Data[0])==//不能这样(RxMessage.Data[1]|(RxMessage.Data[0]<<8)==比|优先级{}{}}CAN_ConfigurationCAN通讯的基本设置,具体各个设置的含义在我们的工程文件里有详细说明,或者可以查阅{}}CAN_ConfigurationCAN通讯的基本设置,具体各个设置的含义在我们的工程文件里有详细说明,或者可以查阅CAN1_RX0_IRQHandler是我们的接收中断类型”与“帧ID”及“数据”。DS18B20实STM32虽然内部自带了温度传感器,但是因为芯片温升较大等原因,与实 DS18B20DS18B20是由DALLAS半导体公司推出的一种“一线总线”接口的温度DS18B203V~5.5V9~12装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64ROM8位(28H)是产品类型标号,光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64ROM8位(28H)是产品类型标号, 硬件连231 软件程序设#include#include功参#include功参返回值voidDS18B20_IO_OUT(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP开漏输出GPIO_Init(GPIOE,&GPIO_InitStructure);}功参返回值voidDS18B20_IO_IN(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//GPIO_Init(GPIOE,&GPIO_InitStructure)}void{DS18B20_IO_OUT();//SETDS18B20_IO_OUT();//SE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年玉林市玉州区中小学教师招聘笔试模拟试题及答案详解
- 2025年桂林市七星区中小学教师招聘考试试题及答案详解
- 2026年黑河市爱辉区中小学教师招聘考试参考试题及答案详解
- 2025年福州市仓山区街道办人员招聘考试试题及答案详解
- 2026年青岛市市北区中小学教师招聘笔试备考试题及答案详解
- 2026年忻州市忻府区街道办人员招聘考试备考题库及答案详解
- 2026年聊城市东昌府区街道办人员招聘笔试模拟试题及答案详解
- 2026年梧州市蝶山区中小学教师招聘笔试备考试题及答案详解
- 2026年呼伦贝尔市海拉尔区街道办人员招聘笔试备考题库及答案详解
- 2026年甘肃省平凉市街道办人员招聘笔试备考试题及答案详解
- 2026春夏天猫服饰趋势紫宝书
- 2024年秋新沪教版英语7年级上册全册教学课件
- 银行竞聘党建试题及答案
- 2024电网公司反事故措施
- 口腔门诊药品管理制度
- 平陆运河工程粉砂质泥岩特性及抗滑稳定性分析
- 《中化集团聊城鲁西双氧水新材料科技5·1重大爆炸着火事故报告》警示教育学习
- 聘用内勤合同范例
- DB11T1811-2020 厨房、厕浴间防水技术规程
- JJF 2167-2024电阻真空变送器校准规范
- 少女乙女的恋爱革命全中文攻略
评论
0/150
提交评论