欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    stm32入门c语句详解Word文件下载.docx

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

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

    stm32入门c语句详解Word文件下载.docx

    1、我的理解只要知道所有外设在调试时,EWRAM需要从这个函数里面获得调试所需信息的地址或者指针之类的信息。只有一个函数debug。所有程序中必须的。#ifdef DEBUG debug(); #endifmain函数开头,声明变量之后。 阅读NVIC:系统中断管理。管理系统内部的中断,负责打开和关闭中断。中断的初始化函数,包括设置中断向量表位置,和开启所需的中断两部分。void NVIC_Configuration(void) NVIC_InitTypeDef NVIC_InitStructure; /中断管理恢复默认参数 #ifdef VECT_TAB_RAM /如果C/C+ Compiler

    2、PreprocessorDefined symbols中的定义了VECT_TAB_RAM(见程序库更改内容的表格) NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); /则在RAM调试 #else/如果没有定义VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); /则在Flash里调试 #endif /结束判断语句 /以下为中断的开启过程,不是所有程序必须的。 /NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);/设置NVIC优先级分组,方式。注:一共

    3、16个优先级,分为抢占式和响应式。两种优先级所占的数量由此代码确定,NVIC_PriorityGroup_x可以是0、1、2、3、4,分别代表抢占优先级有1、2、4、8、16个和响应优先级有16、8、4、2、1个。规定两种优先级的数量后,所有的中断级别必须在其中选择,抢占级别高的会打断其他中断优先执行,而响应级别高的会在其他中断执行完优先执行。 /NVIC_InitStructure.NVIC_IRQChannel = 中断通道名; /开中断,中断名称见函数库/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; /抢占优先级/NV

    4、IC_InitStructure.NVIC_IRQChannelSubPriority = 0; /响应优先级/NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /启动此通道的中断/NVIC_Init(&NVIC_InitStructure);中断初始化 阅读RCC:单片机时钟管理。管理外部、内部和外设的时钟,设置、打开和关闭这些时钟。基础应用1:时钟的初始化函数过程用法:void RCC_Configuration(void)/时钟初始化函数ErrorStatus HSEStartUpStatus; /等待时钟的稳定RCC_DeInit(); /

    5、时钟管理重置RCC_HSEConfig(RCC_HSE_ON);/打开外部晶振HSEStartUpStatus = RCC_WaitForHSEStartUp(); /等待外部晶振就绪if (HSEStartUpStatus = SUCCESS) /flash读取缓冲,加速/flash操作的延时RCC_HCLKConfig(RCC_SYSCLK_Div1);/AHB使用系统时钟RCC_PCLK2Config(RCC_HCLK_Div2);/APB2(高速)为HCLK的一半RCC_PCLK1Config(RCC_HCLK_Div2);/APB1(低速)为HCLK的一半/注:AHB主要负责外部存储

    6、器时钟。PB2负责AD,I/O,高级TIM,串口1。APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM。RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);/PLLCLK = 8MHz * 9 = 72 MHRCC_PLLCmd(ENABLE); /启动PLLwhile (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET) /等待PLL启动RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);/将PLL设置为系统时钟源while (RCC_GetSYSC

    7、LKSource() != 0x08) /等待系统时钟源的启动/RCC_AHBPeriphClockCmd(ABP2设备1 | ABP2设备2 |, ENABLE); /启动AHP设备/RCC_APB2PeriphClockCmd(ABP2设备1 | ABP2设备2 |, ENABLE); /启动ABP2设备/RCC_APB1PeriphClockCmd(ABP2设备1 | ABP2设备2 |, ENABLE); /启动ABP1设备 阅读EXTI:外部设备中断函数外部设备通过引脚给出的硬件中断,也可以产生软件中断,19个上升、下降或都触发。EXTI0EXTI15连接到管脚,EXTI线16连接到

    8、PVD(VDD监视),EXTI线17连接到RTC(闹钟),EXTI线18连接到USB(唤醒)。基础应用1,设定外部中断初始化函数。按需求,不是必须代码。用法:void EXTI_Configuration(void)EXTI_InitTypeDef EXTI_InitStructure;/外部设备中断恢复默认参数EXTI_InitStructure.EXTI_Line = 通道1|通道2;/设定所需产生外部中断的通道,一共19个。EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;/产生中断EXTI_InitStructure.EXTI_Tri

    9、gger = EXTI_Trigger_Falling;/上升下降沿都触发EXTI_InitStructure.EXTI_LineCmd = ENABLE;/启动中断的接收EXTI_Init(&EXTI_InitStructure);/外部设备中断启动 阅读DMA:通过总线而越过CPU读取外设数据通过DMA应用可以加速单片机外设、存储器之间的数据传输,并在传输期间不影响CPU进行其他事情。这对于入门开发基本功能来说没有太大必要,这个内容先行跳过。 阅读SysTick:系统定时器可以输出和利用系统时钟的计数、状态。精确计时的延时子函数。推荐使用的代码。static vu32 TimingDela

    10、y;/全局变量声明void SysTick_Config(void) /systick初始化函数SysTick_CounterCmd(SysTick_Counter_Disable); /停止系统定时器SysTick_ITConfig(DISABLE); /停止systick中断SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);/systick使用HCLK作为时钟源,频率值除以8。SysTick_SetReload(9000); /重置时间1毫秒(以72MHz为基础计算)SysTick_ITConfig(ENABLE); /开启systi

    11、c中断void Delay (u32 nTime) /延迟一毫秒的函数SysTick_CounterCmd(SysTick_Counter_Enable); /systic开始计时TimingDelay = nTime; /计时长度赋值给递减变量while(TimingDelay != 0); /检测是否计时完成 /关闭计数器SysTick_CounterCmd(SysTick_Counter_Clear); /清除计数值void TimingDelay_Decrement(void)/递减变量函数,函数名由“stm32f10x_it.c”中的中断响应函数定义好了。if (TimingDela

    12、y != 0x00)/检测计数变量是否达到0 TimingDelay-; /计数变量递减注:建议熟练后使用,所涉及知识和设备太多,新手出错的可能性较大。新手可用简化的延时函数代替:void Delay(vu32 nCount) /简单延时函数for(; nCount != 0; nCount-); /循环变量递减计数/当延时较长,又不需要精确计时的时候可以使用嵌套循环void Delay(vu32 nCount) /简单的长时间延时函数 int i; /声明内部递减变量 for(; nCount-)/递减变量计数 for (i=0; i0xffff; i+); /内部循环递减变量计数 阅读gp

    13、io:I/O设置函数所有输入输出管脚模式设置,可以是上下拉、浮空、开漏、模拟、推挽模式,频率特性为2M,10M,50M。也可以向该管脚直接写入数据和读取数据。gpio初始化函数。所有程序必须。void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure; /GPIO状态恢复默认参数申明GPIO结构体GPIO_InitStructure.GPIO_Pin = GPIO_Pin_标号 | GPIO_Pin_标号 ;/引脚位置定义,标号可以是NONE、ALL、0至15。GPIO_InitStructure.GPIO_Speed =

    14、GPIO_Speed_2MHz; /输出速度2MHz/10/50GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; /模拟输入模式GPIO_Init(GPIOC, &GPIO_InitStructure); /C组GPIO初始化以上四行代码为一组,每组GPIO属性必须相同,默认的GPIO参数为:ALL,2MHz,FLATING。如果其中任意一行与前一组相应设置相同,那么那一行可以省略,由此推论如果前面已经将此行参数设定为默认参数(包括使用GPIO_InitTypeDef GPIO_InitStructure代码),本组应用也是默认参数的话,那么也可以省略。以下重复这个过程直到所有应用的管脚全部被定义完毕。基础应用2:向管脚写入0或1。GPIO_WriteBit(GPIOB, GPIO_Pin_2, (BitAction)0x01); /写入1基础应用3:从管脚读入0或1。 用法:GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6)


    注意事项

    本文(stm32入门c语句详解Word文件下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开