欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    stm32实验程序代码.docx

    • 资源ID:1242133       资源大小:26.98KB        全文页数:13页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    stm32实验程序代码.docx

    实验1GPIO#include#incIude*Input:None*Output:None*Return:None*intmain(void)*Configurethesystemclocks*/*Input:None*Output:None*Return:None*voidNVIC_Configuration(void)NVIC_IniUypeDefNVIC_Ini!Structure;*Configureonebitforpreemptionpriority*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);*EnabletheEXT19_5Interrupt*/* Input:None* Output:None* Return:None*/voidGP10_Configuration(void)(GP10_InitTypeDefGPI0_lni!Structure;*EnableGPIOA,GPIOFandAFIOclocks*/RCC_APB2PeriphCIockCmd(RCC_APB2Periph_GPIOARCC_APB2Periph_GPIOFRCC_APB2Periph_AFI0,ENABLE);*ConfigurePF.asOutputpush-pulI*/GPI0_Pin_3|GPI0_Pin_4|GPI0_Pin_5|GPI0_Pin_6|GPI0_Pin_7|GPI0_Pin_8|GPI0_Pin_9|GPIO_Pin_1O;=GPI0_Speed_50MHz;=GPIO_Mode_Out_PP;GPIO_lnit(GPIOF,&GPIOJnitStructure);*ConfigurePA9asinputfloating(EXTILine9)*/=GPI0_Pin_9;* Input:None* Output:None* Return:None/intmain(void)*配置LED灯使用的GPlO管脚模式*/RCC_APB2PeriphCIockCmd(RCC_GPIO_LED,ENABLE);*使能LED灯使用的GPIO时钟*/=LD1_PIN|LD2_PIN|LD3_PIN|LD4_PIN|LD5_PIN|LD6_PIN|LD7_PIN|LD8_PIN;=GPI0_Mode_0ut_PP;=GPI0_Speed_50MHz;GPIO_lnit(GPIO_LED,&GP10_lni!Structure);*使用的LED灯相关的GPlo初始化*/GPI0_ResetBits(GPI0_LED,LD1_PIN|LD2_PINLD3,PINLD4_PINLD5_PINLD6,PINLD7_PIN|LD8_PIN);/*关闭所有的LED指示灯*/whiIe(1)GP10_ResetBits(GP10_LED,LD1_PINLD2_PINLD3_PINLD4_PINLD5_PINLD6_PINLD7_PIN|LD8_PIN);*关闭所有的LED指示灯*/Turn_0n_LED(count%8);*Input:nCont:specifiesthedeIaytimelength.* Output:None* Return:None*/voidDelay(vu32nCount)for(;nCount!=0;nCount);实验11串口收发#include#include*paramNone*retvaINone*/voidRCC_Configuration(void)(*使能串口1和串口2使用的GPIo时钟*/RCC_APB2PeriphCIockCmd(USART1_GPIO_CLKUSART2_GPIO_CLK,ENABLE);*EnableUSART1Clock*/*使能串口1时钟*/RCC_APB2PeriphCIockCmd(USART1_CLK,ENABLE);*使能串口2时钟*/RCC_APB1PeriphCIockCmd(USART2_CLK,ENABLE);/*使能LED灯使用的GPIO时钟*/RCC_APB2PeriphCIockCmd(RCC_GPI0_LED,ENABLE);)* briefConfiguresthedifferentGPIOports.* paramNone*retvaINone*/voidGP10_Configuration(void)(GP10_InitTypeDefGP10_Ini!Structure;*串口1RX管脚配置*/*ConfigureUSART1Rxasinputfloating*/=USART1_RxPin;=GPIO_Mode_IN_FLOATING;GPI0_lnit(USART1_GPI0,&GPI0_lni!Structure);*串口2RX管脚配置*/*ConfigureUSART2Rxasinputfloating*/=USART2_RxPin;GPI0_lnit(USART2_GPI0,&GP10_Ini!Structure);*串口1TX管脚配置*/* Configure USART1 Txasalternatefunctionpush-puII*/=USART1_TxPin;=GPI0_Speed_50MHz;=GPIO_Mode_AF_PP:GPI0_lnit(USART1_GPI0,&GPIO_lni!Structure);*串口2TX管脚配置*/* Configure USART2 Txasalternatefunctionpush-pulI*/=USART2_TxPin;GPI0_lnit(USART2_GPI0,&GPIO_lnItStructure);*配置LED灯使用的GPlO管脚模式*/=LD1_PIN|LD2_PINLD3_PINLD4_PIN;=GPIO_Mode_Out_PP;=GPI0_Speed_50MHz;GPI0.lnit(GPIO_LED,&GPI0_lni!Structure);)* briefConfiguresthenestedvectoredinterruptcontroller.* paramNone*retvaINone*/voidNVIC_Configuration(void)(NVIC_InitTypeDefNVIC_Ini!Structure;*ConfiguretheNVICPreemptionPriorityBits*/NVIC_PrioriIyGroupConfig(NVIC_PriorityGroup_0);*EnabletheUSART1Interrupt*/=USART1_IRQn;=0;=ENABLE;NVICInit(&NVICInitStructure);*EnabletheUSART2Interrupt*/=USART2_IRQn;=1;=ENABLE:NVIC_Init(&NVIC_Ini!Structure);)* briefComparestwobuffers.* parampBuffer1,pBuffer2:bufferstobecompared.* paramBufferLength:buffer'sIength* retvaIPASSED:pBuffer1identicaltopBuffer2* FAILED:pBuffer1differsfrompBuffer2*/TestStatusBUfferCmP(U8*pBuffer1,u8*pBuffer2,u16BufferLength)whiIe(BufferLength)if(*pBuffer1!=*pBuffer2)returnFAILED;)pBuffer1+;pBuffer2+;)returnPASSED;)* briefThisfunctionhandIesUSART1gIobaIinterruptrequest.* paramNone*retvaINone*/voidUSARTI-IRQHandIer(VOid)if(USARTGetITStatus(USART1,USARTITRXNE)!=RESET)*Readonebytefromthereceivedataregister*/RxBufferIRxCounterI+=USART_ReceiveData(USART1);if(RxCounterI=NbrOfDataToReadD(*DisabletheUSART1Receiveinterrupt*/USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);)if(USART_GetITStatus(USART1,USART_IT_TXE)!=RESET)(*Writeonebytetothetransmitdataregister*/USART_SendData(USART1,TxBufferITxCounterI+);if(TxCounterI=NbrOfDataToTransferD(*DisabletheUSART1Transmitinterrupt*/USART_ITConfig(USART1,USART_IT_TXE,DISABLE);)* briefThisfunctionhandIesUSART2gIobaIinterruptrequest.* paramNone*retvaINone*/voidUSART2_IRQHandler(void)(if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET)(*Readonebytefromthereceivedataregister*/RxBuffer2RxCounter2+=USART_ReceiveData(USART2);if(RxCounter2=NbrOfDataToReadD(*DisabletheUSART2Receiveinterrupt*/USART,ITConfig(USART2,USART_IT_RXNE,DISABLE);)if(USART_GetITStatus(USART2,USART_IT_TXE)!=RESET)(*Writeonebytetothetransmitdataregister*/USART_SendData(USART2,TxBuffer2TxCounter2+);if(TxCounter2=NbrOfDataToTransfer2)(*DisabletheUSART2Transmitinterrupt*/USART_ITConfig(USART2,USART_IT_TXE,DISABLE);)

    注意事项

    本文(stm32实验程序代码.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开