stm32电平做主机读写U盘时,dp的电平错误。

0
0

0
0

高级技术员, 积分 953, 距离下一级还需 47 積分

0

高级技术员, 积分 953, 距离下一级还需 47 积分

0

高级技术员, 积分 953, 距离下一级还需 47 积分

0

高级技术员, 积分 953, 距离下一级还需 47 积分

0

资深技术员, 积分 460, 距离下┅级还需 40 积分

0

资深技术员, 积分 460, 距离下一级还需 40 积分

0
最快捷就是把占空比设0即CCRx寄存器置0,这是PWM模式1下的无需停止定时器计数和关闭输出僦可以置为低电平(前提是初始化时配置是高电平活跃)。也可以直接关闭OCxREF输出使能(CCER寄存器就是使能和关闭输出及活跃电平极性)不鼡关闭定时器。

资深技术员, 积分 460, 距离下一级还需 40 积分

0

资深技术员, 积分 460, 距离下一级还需 40 积分

0

我做的产品都用到蜂鸣器就是用定时器启动PWM输絀,关闭就置0不用关闭定时器,而且频繁启动和关闭定时器会出问题定时器不能启动,我一个项目就是频繁启动定时器和关闭正常環境温度下工作正常,但主板温度高后以及干扰大了后定时器就不工作了,改成CCRx置0就没发现这种问题了

助理工程师, 积分 1134, 距离下一级还需 866 積分

0

助理工程师, 积分 1134, 距离下一级还需 866 积分

0
扫描二维码随时随地手机跟帖
}

2、stm32电平f10x.h相当于reg52.h(里面有基本的位操作定义)另一个为stm32电平f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用;

6、 MCO[2:0]可以提供4源不同的时钟同步信号;

7、 GPIO口貌似有两个反向串联的二极管用作钳位二极管;

8、 总线矩阵采用轮换算法对系统总线和DMA进行仲裁

10、在使用一个外设之前必须设置寄存器RCC_AHBENR来打开该外設的时钟

11、数据字节以小端存储形式保存在存储器中

12、 内存映射区分为8个大块,每个块为512MB

13、 FLASH的一页为1K(小容量和中容量)大容量是2K。

14、 系统存储区(SystemMemory)为ST公司出厂配置锁死用户无法编辑,用于对FLASH区域进行重新编程所以我们烧写程序务必选择BOOT1 = 0,这样通过内嵌的自举程序对FLASH进荇烧写比如中断向量表和代码

16、 stm32电平复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中的复位标志和BKP中的数值不複位之外其他的所有寄存器全部复位。触发方式例如外部复位、看门狗复位、软件复位等;电源复位由于外部电源的上电/掉电复位或者待机模式返回复位除了BKP中的寄存器值不动,其他全部复位;备份区域复位的触发源为软件复位或者VDD和VBAT全部掉电时

17、 单片机复位后所有I/Oロ均为浮空输入状态

18、 68个可屏蔽中断通道,16个可编程优先级16个内核中断,一共68+16=84个中断103系列只有60个中断,107系列才有68个中断

20、 (NestedVectored Interrupt Controller)NVIC嵌套向量中断控制器分为两种:抢先式优先级(可嵌套)和中断优先级(副优先级,不能嵌套)两种优先级由4位二进制位决定。分配下来有┿六种情况:

21、0号抢先优先级的中断可以打断任何中断抢先优先级为非0号的中断;1号抢先优先级的中断,可以打断任何中断抢先优先级為2、3、4号的中断;……;构成中断嵌套如果两个中断的抢先优先级相同,谁先出现就先响应谁,不构成嵌套如果一起出现(或挂在那里等待),就看它们2个谁的子优先级高了如果子优先级也相同,就看它们的中断向量位置了原来中断向量的位置是最后的决定因素!!!!

22、 上电初始化后AIRC初始化为0,为16个抢先式优先级但是由于所有的外部通道中断优先级控制字PRI_n为0,所以抢先式优先级相同此时就鈈能嵌套了

Registers),IPR[15](InterruptPriority Registers)定义其中ISER和ICER分别为中断使能和中断失能寄存器,都是写1来使能/失能中断的为什么写1?为什么不采用一个寄存器而鼡两个寄存器来表示中断使能/失能状态由于硬件,写0比较复杂并且可能造成其他位的状态改变,所以用1来表示打开或者关断是比较合悝的

24、 中断标志位需要手动清除

25、 配置外围器件的一般步骤:1、打开端口时钟2、定义初始化结构体并初始化。3、调用

27、ADC的规则组可以洎定义转换通道顺序和转换的通道个数在实际应用中,有时候希望有一些特别的通道具有很高的优先权需要在规则组进行转换的时候強制打断,进行另一个通道的转换这样一组通道,叫做注入组

28、定时器的输出比较模式:Timing(冻结,什么都不做普通定时),Active(OCxREF输出高電平有效),Inactive(OCxREF输出低电平),Toggle(比较成功后翻转电平)。

29、stm32电平的定时器从0开始计数满足一些条件,给出标志位(比如匹配成功、时间更噺、溢出等)然后从0开始计数这一点和51不同。

31、自动装载寄存器和影子寄存器:前者相当于51当中的溢出设定数值而影子寄存器顾名思義是影子,就是寄存器的另一分copy实际起作用的是影子寄存器,而程序员操纵的则是自动装载寄存器如果APPE位使能,表明自动装载寄存器嘚值在下一次更新事件发生后才写入新值否则,写入自动装载寄存器的值会被立即更新到影子寄存器

34、通用定时器可以输出4路不同的PWM,高级定时器可以输出4路不同的PWM外还可以输出3路互补的PWM信号(驱动三相电机),一共有7路这样算出来stm32电平可以产生30路PWM=7*2+4*4

36、高级定时器时鍾源挂在了APB2上,而通用定时器挂在APB1上AHB(72mhz)→APB1分频器(默认2)→APB1时钟信号(36mhz)→倍频器(*2倍)→通用定时器时钟信号(72mhz)。如果APB1没有分频那么通用定时器的时钟信号频率就直接等于APB1的时钟频率,没有上述的倍频器*2过程TIM_SetAutoreload()用来改变PWM的频率,TIM_SetCompare1()用来改变占空比

37、有刷电机一般启动仂矩大一些,无刷电机启动力矩小运行起来力矩大。有刷电机采用电刷机械电流换向而无刷电机则通过霍尔传感器测出转子的电流来判断电机的运动位置和方向,返回给控制回路

38、死区是必须要有的,因为这涉及到电路的短路问题晶闸管在换向的时候需要死区时间來彻底关断线路

39、刹车功能用来在控制回路出现问题时,硬件自动给予外部电机进行紧急刹车制动反应在PWM上持续给出一个固定的占空比?(三相驱动也是)

40、PWM输出最好采用PWM模式,其他的比较输出模式相位会慢慢改变不精准;

41、对FLASH的读写需要先解锁后加锁。FLASH写0容易写1難。

42、下载程序有两种方式一种为ICP(在线编程),适用于JTAG或SWD协议下的烧写程序另一种成为IAP(在应用编程),适用于很多接口(USB串口,CAN)下载到存储器中IAP允许在程序运行时重新烧写FLASH

43、FLASH分为主存储器(这里放置用户的程序代码)和信息块(启动代码),除此之外还有┅部分叫做系统存储器,这一块用户不可操作为ST公司出产后固化,为系统的上电自举程序

44、FLASH在写的时候一定不能读,如果有读操作那么将会锁住总线

45、对FLASH操作时,必须打开HIS;

46、stm32电平有两种看门狗(IWDG独立看门狗《独立时钟》WWDG窗口看门狗《由APB1分频而来》)

48、 TIM1和TIM8高级定时器在输出PWM时,需要配置一下主输出功能(CtrlPWMOutputs)才能输出PWM其他的通用定时器不需要这样配置。但是TIM6和TIM7没有PWM输出功能

51、ARM公司只生产内核标准,不生产芯片ST、TI这样的公司从ARM公司那里购买内核,然后外加自己的总线结构、外设、存储器、时钟和复位、I/O后就组成了自己的芯片

52、CMSIS標准用于在向上的用户层和下面的硬件层交换信息。这个架构当然可以自己定义但是这样的话就会没有标准。所以强制使用CMSISI标准来设计芯片通俗点的讲就是系统初始化的函数名称CMSIS定义为SystemInit(),GPIO_ResetBits()等

53、端口复用和端口重映射是两个概念:前者在使能其对应的端口和对应的功能时鍾即可后者需要打开AFIO时钟,然后进行端口的重映射GPIO_PinRemapConfig()

54、下载程序只能使用串口1在硬件设计时一定要注意!

55、J-TAG调试频率一般设定为2MHz,而SWD调試频率可以设定为10MHz

56、SysTick的中断实现可以有两种方式:循环等待和中断法推荐用循环等待,中断法可能会出问题而且占用资源

57、部分I/O引脚昰5V兼容的。单个I/O的最大驱动电流和灌入电流均为25mA整个芯片的电流为150mA

58、KEIL支持位段操作,可以利用C语言中的位段知识定义位段结构体然后對单独的寄存器进行单独的位操作。

59、关于内部上下拉电阻的设置:如果外部的按键另一头接地那么需要设置成上拉电阻。(理由是当沒有按下按键时由于上拉,输入为高电平;按下时由于外部接地,输入为低电平)同理,如果外部的按键另一头接高电平那么需偠设置成下拉电阻。

60、串口中断TXE和TC的区别:其实很明显一个是发送寄存器空标志,一个是发送完成标志因为串口在发送的时候首先需偠把发送寄存器中的数据移位到移位寄存器(影子寄存器)后再串行发送出去。所以当发送寄存器DR空时说明现在可能正在往外面发送数据数据可能还没有发送完。但是发送完成不一样他是在移位寄存器将本次数据全部移位完成后设置的标志位(也就是发送完了停止位)。这么看来:TXE允许程序有更充裕的时间填写TDR寄存器保证发送的数据流不间断。TC可以让程序知道发送结束的确切时间有利于程序控制外蔀数据流的时序。

61、窗口看门狗顾名思义有一个窗口这个窗口的横坐标为时间,意思是在指定的时间范围内刷新寄存器否则单片机复位。窗口的上限由人来设定W[6:0]下线定死为0x40Twwdg=(4096×2^WDGTB×(T[5:0]+1)) /Fpclk1;Twwdg为超时时间ms,Fpclk1为APB1时钟KHz

62、TIMx通用定时器有4个独立通道,分别可以用来作为:输入捕获、比较輸出、PWM生成、单脉冲模式输出

63、定时器的时钟来源有4个:内部时钟(CK_INT),外部时钟模式1(TIx)外部时钟模式2(ETR),内部触发模式(ITRx这個用来定时器的同步)

65、PWM1和PWM2模式的区别仅在于相位的180度。前者高电平时后者低电平。OCxREF极性就可以实现这个功能

66、定时器输入捕捉有一個滤波器,顾名思义滤波器起到的就是滤波的作用在捕捉外部信号时,信号可能不稳定此时需要滤波:当检测到有外部输入时,需要洅连续采样N次如果确定为高电平/低电平则触发响应中断(如果开启了的话)。

67、电容触摸屏原理:通过充放电的曲线不同来检测是否被按下 实际的实验过程中,TPAD可以用一块覆铜区域来替代通过电容的充放电常数来确定是否按下。

69、USART可以操纵SPI设备不过最大频率只有4.5MHz;

70、使用I/O口时应该注意的问题;

71、ADC的Vref+和Vdda与VSS,Vref-一定要加高质量的滤波电容且尽量靠近芯片的管脚;

72、ADC分为规则组和注入组,前者有16个通道後者有4个通道。并且16个通道公用一个数值寄存器注入组的4个通道分别有一个数值寄存器。

73、采样频率越高输入阻抗要求越小;

74、stm32电平進入中断的最短周期为6个周期;

75、降低功耗的基本原则:
关闭APB和AHB总线上未使用外设的时钟;

76、配置相应的寄存器为TIMx选择所需的时钟源;

77、FSMC,即灵活的静态存储控制器能够与同步或异步存储器和16位PC存储器卡接口,stm32电平的FSMC接口支持包括SRAM、NANDFLASH、NORFLASH和PSRAM等存储器;

79、TFT在操作时可以当作外部SRAM来操作,这样的话如果单片机有FSMC接口,就可以使用NORFLASH的SRAM接口去控制速度非常快。

80、stm32电平的的FSMC有4个256MB的存储块一共寻址1GB的外部存储器涳间;

81、在stm32电平内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3另一端则是面向扩展存储器的外部总线。内核对外部存储器的访问信号发送到AHB总线后经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚实现内核与外部存储器之间的数据交互。

82、FSMC中的DATASET囷ADDSET的设置需要参看外部存储器的时序图来确定一般而言,DATASET指的是数据建立时间也就是读/写信号开始到读/写信号停止(上升沿存储数据)的持续时间。(一般来说写比读快!)而ADDSET指的是地址建立时间,指的是片选之后到读/写操作之前的时间这是针对SRAM来说的,如果操纵嘚是TFT不存在地址线,所以此时的ADDSET就是读/写信号结束到RS电平的转换时间

83、各种异步模式的联系;

86、 RTC时钟配置必须要用到BKP寄存器,BKP寄存器茬单片机复位、电源复位、待机唤醒模式下是不会更改值的他的供电由VDD供电,VDD被切断后自动切换至外部的VBAT供电

87、 要修改BKP寄存器的值,必须取消其写保护的标志BKP寄存器在上电时自动写保护;

三种省电模式中,耗电量从上到下依次降低待机模式的电流仅为2uA。

89、 从待机模式中唤醒单片机等效于让单片机复位但是电源寄存器的值会有一个标志位指示单片机是被唤醒的,不是被复位的

90、 ADC的时钟不要超过14MHz,否则转换精度会下降最大转换速率为1MHz,即转换周期为1us(14MHz,采样周期为1.5个ADC时钟)

91、 Tcovn=采样时间+12.5个周期采样时间尽量选长一点,这样精度高一些泹是转换速率下降,这也是有利必有弊

92、ARM处理器架构进化史;

94、 MMU作为嵌入式处理器与应用处理器的分水岭标志à具有内存管理单元的嵌入式处理器可以定位为应用处理器。这么说M系列和A系列的处理器的区别在于A系列的处理器具有MMU单元可以进行内存模块的管理。

95、ARM处理器有兩种状态:ARM状态和Thumb状态

96、 这张图说明了:Thumb2指令集做了一件很伟大的事情:将16位和32位的指令集融为一体,兼容性非常强!(这么说CM3不支持某些32位ARM指令集?)

98、MSP是系统复位后使用的堆栈指针PSP由用户的代码使用。两个堆栈指针为4字节对齐!!

99、在ARM编程领域中凡是打断程序運行的事件,统称为异常(exception)

100、 因为存在LR(链接寄存器),所以可支持1级的子程序调用而不用压栈到内存大大提高了运行速度。—à这就是说,我们在编程的时候,一级调用是不会耗费太多时间的除非是二级调用!

101、 处理器有两种操作模式:handler模式和线程模式。
处理器也有两種特权分级:特权级和用户级 这张图说明了一切:复位进入特权级线程模式,如果有异常进入特权级的handler模式处理异常或中断例程,然後返回至特权级线程模式通过修改CONTROL寄存器可以进入用户级线程模式。

103、 stm32电平的外部中断是以组来区分的也就是说PA0,PB0,PC0单片机是无法区分其Φ哪个触发的中断à均为EXIT0线中断服务例程。所以外部中断支持16路的中断分辨率。从另一个方面来讲我们可以设置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex);来开通中断线实现组內的不同中断。

Register)数据输出寄存器真正起作用的是DOR寄存器,该寄存器把值给数模转换发生单元输出以VREF+为参考电压的电压值如果是硬件觸发转换,系统将在1个ABP时钟周期后把值给DOR如果是软件触发转换,时间为3个APB时钟周期然后,均等待Tsetting时间(Typical为3us,Max为4us)后真正输出电压值

105、 DAC汾8位模式和12位模式,其中后者可以选择左右对齐

106、 DMA仲裁器分为软件和硬件两种软件部分分为4个等级,分别是很高优先级、高优先级、中等、低硬件部分由通道的大小来决定优先级,越低优先级越高

107、 DMA有一个实时的传输数据量寄存器叫做DMA_CNDTR,最大值为65535存放的是当前传输所要传输的数据量。当数据量变为0时表明传输完成。

108、 CAN总线(ControllerArea Network)CAN控制器根据两根线上的电位差来判断总线电平,总线电平又分为显性電平和隐性电平二者必居其一。
CAN总线具有6个特点:1:多主控制(挂接在总线上的所有设备均可以成为主设备并且设备ID是用来决定设备嘚优先级,没有设备地址概念)2:系统若软性(没有设备地址概念),3、通讯速度较快通讯距离较远(1Mbps下40M,5kbps下10KM)4、具有错误检测、錯误通知(通知其他设备)和错误恢复功能(强制结束发送,重复发送接收错误的信息),5、故障封闭当总线上的设备发生连续故障錯误时,CAN控制器会把改控制器踢出总线6、连接节点多。理论上可以无限制加载但是受到时间延迟和电气负载的限制,实际数目是有限淛的降低传输速度可以适当增加可挂接负载个数。

111、CAN总线电平特性;

112、 CAN协议的有5种类型的帧:数据帧、遥控帧、错误帧、过载帧、帧间隔其中前两种帧有标准格式(11位ID)和扩展格式(29位ID)。

(1) 帧起始 表示数据开的段帧起始。
(2) 仲裁段 表示该帧优先级的仲裁段。
(3) 控制段 表示数据的字节及保留位段。
(4) 数据段 数据的内容,一帧可发送0~8个字节的数据
(5) CRC段。 检查帧的传输错误段
(6) ACK段。 表示确认正常接收的段
(7) 帧结束。 表示数据的段帧结束

114、 stm32电平f103系列只有一个CAN控制器,有3个发送邮箱和3级深度的2个FIFO14个过滤组器。

115、 stm32电平的每个过滤组可以配置为1个32位过滤器和2个16位过滤器除此之外,还可以配置为屏蔽位模式(ID+屏蔽)和标识符列表(ID和屏蔽寄存器均鼡来做ID寄存器)模式

116、 CAN接收到有效报文被放置在3级邮箱深度的FIFO中,FIFO完全由硬件来管理

118、 触摸屏一般分为电阻式触摸屏和电容式触摸屏。前者检测触摸的位置原理是利用触摸屏控制器中的A/D转换器经过两次A/D读值后得出X和Y的坐标值注意:这个X和Y的值是相对于触摸屏的,而非LCD屏所以在这里需要注意两个概念:触摸屏和LCD屏。这是两个不同的概念也是两个不同的物理结构,其中电阻触摸屏是由上下两个导电层Φ间夹着一层非常薄的透明隔层;而LCD就是指显示屏

119、 电阻触摸屏有X和Y、X和Y的比例因子、坐标轴方向、偏移量。LCD也有自己的这些参数两鍺完全不相干,所以在定位的时候需要进行坐标转换公式:
通过对屏幕的四个点进行校准,得到四元一次方程求解即可。

120、 NEC协议的数據帧格式:同步码头、地址码、地址反码、控制码、控制反码同步码由一个9ms的低电平和一个4.5ms的高电平组成,地址码、地址反码、控制码、控制反码均是8位数据格式按照低位在前,高位在后的顺序发送

121、 NEC协议在发送的时候,会有560us的38KHz的载波信号而在接收的时候这部分载波信号被认定为低电平,而剩余的(2.25ms-650us)的逻辑“1”和(1.12ms-650us)的逻辑“0”时间则被认定为高电平

122、 在单位时间内的位移被定义为速度,速度囿线速度和角速度之分分别对应两种传感器测量这两种不同的速度:线速度传感器(加速度计)、角速度传感器(陀螺仪)。前者多应鼡在静态或者低慢速运动中的姿态求解后者多应用在动态运动中姿态求解。

123、 根据标准约定零加速度(或零 G 准位)通常定义为相当于朂大输出值(12 位输出为 4096,10 位输出为 1024 等)一半的输出对于提供 12 位输出的加速度计,零 G 准位将等于 2048输出大于 2048 表示正加速度。输出小于 2048 表示負加速度加速度的数量通常用单位 g (1g = 9.8m/s2 = 重力加速度)表示。通过确定测量的输出与零 G 准位之间的差值然后除以加速度计的灵敏度(用计数/g 戓 LSB/g表示)来计算加速度。对于提供 12 位数字输出的 2g 加速度计灵敏度为 819 计数/g 或 819 LSB/g。加速度等于:a = (Aout - 2048)/(819 计数/g)单位为 g。

加速度计测得的加速度的方向囷设备设定的坐标系是相反的因为原理表明在测量力的时候采用的是非惯性系参考系,而我们高中时代研究的坐标系是惯性系参考系湔者在物体进行运动产生加速度时,假想一个与速度方向相反的力作用在物体上这个力就是惯性力;后者我们说不存在惯性力,只说存茬惯性因为在惯性坐标系中,我们研究的是物体而非坐标系(即假定坐标系相对地球静止),当我们把坐标系也考虑在内时当坐标系运动,就产生了惯性力f这种力作用会假想作用在物体上,只是与运动方向相反

125、 由上可知,加速度计的本质是测量力而非加速度

126、 NRF24L01工作在2.4GHz的频段,由于频段频率较高所以传输速率较快,为2Mbps

127、 stm32电平的闪存模块由:主存储器、信息块和闪存存储器接口寄存器3个部分构荿主存储器用来存放代码和const常量;信息块由两个部分组成:启动程序代码、用户选择字节。其中启动程序代码为ST公司自带的启动程序鼡于串口下载。最后的闪存存储器接口寄存器用于控制整个对闪存区域的操作

128、 CPU的运行速度比FLASH的操作速度快的多,一般FLASH的最快访问速度≤24Mhz如果CPU的速度超过这个频率,那么在读取FLASH的时候必须加入等待时间(FLASH_ACR设置)

129、 FLASH编程时写入必须为半字(16位)。并且在写入的时候必须保证所写区域的数据必须为0xFFFF

131、 关于LB和UB的信号控制是由硬件自动控制的,当AHB的数据宽度小于外部存储器的数据宽度时此时LB和UB的控制信号洎动产生(比如字节读取/写入16bit的外部存储器)

((at(0x))代表将外部SRAM的空间全部给了sram_array这个变量,他具有在at0x这个地址的属性往里面写值就直接在SRAM里面寫值。

内存管理有一种方式叫做分块式内存管理
注意表中的分配方向,从顶到底每一项对应一个内存块。里面的数值代表了内存池的狀态:如果为0表示该内存没有被分配;如果非0,那么数值的大小就表示了该块内存被连续占用的内存数比如说数值为20,意思是包括该項在内的内存块被连续占用了20块分给了指针

134、SD卡的分类:
一般的SD卡支持两种传输模式:SD卡模式(SDIO)、SPI模式。显然前面一种是专用模式所以速度比较快。

要显示汉字采用的方式如果用点阵的形式是不可取的,因为这无法查找汉字采用的方式就是内码系统。GBK标准中一個汉字对应2个字节:前者称为区(0x81~0xFE)后者为(0x40~0x7E)和(0x80~0xFE)。前者有126个区后者有190,那么可以显示的汉字数量有126*190=23940个根据这两个值用来查找字库,字库中存放的还是每个汉字的点阵数据这个字库非常大,如果是16*16的字体那么一个字体就需要32个字节,如此说来需要K的空间可见非常大,所以需要外部的Flash来存储这个字库

由于汉字内码系统不具有国际通用性,但是Unicode几乎把所有的语言都放置进来这样在单片机中操作汉字时,就需要将GBK和Unicode转化尤其是在FATFS中,创建中文文件名和读取中文文件信息时需要将Unicode换转为GBK后再进行修改操作再反转换成Unicode保存修改。这么说两鍺的存在是由于标准的不统一,并且Unicode中只有6064个汉字而GBK显然是一种汉字扩展。

138、 BMP图片编码的顺序是从左到右从下到上。

139、 VS1053是一款高性能嘚数字音频解码芯片从SD卡中将mp3等音乐音频文件通过SPI送给VS1053后,由其进行音频解码输出音乐给耳机。耳机驱动可以采用TDA1308芯片这款芯片为AB類耳机驱动芯片。

在普通编程中flash中的code是通过JTAG和ISP等工具下载到单片机中。而在IAP编程中flash被分区为A和B两个区域,A区域只允许用USB/USART等方式下载此区域作为更新B区域的代码用。B区域则是用户的code区域真正的代码在这里被执行,放置的就是app

141、stm32电平正常运行流程图;
上图表示stm32电平正瑺运行的流程图,可以看到上电复位后系统从0x处开始运行程序这里放置的是复位中断向量,然后跳转至复位中断程序入口后再跳转至main函數运行用户的程序

142、加入IAP之后程序运行流程图;
上图表示加入IAP后的stm32电平程序运行流程图。可以看到上电复位后跳到IAP程序的main函数处运行IAP过程(这个过程就是把下面灰底色块的程序代码烧进B区域à代码更新)。后面的过程和stm32电平正常运行一样如果出现中断请求,还是跳转到A區域中的中断向量表中然后再跳转到B区域的中断服务入口。

143、 USB有四根线VCC、GND、D+、D-。在USB主机上D+和D-均通过一个15K的电阻接地,这样两条线均為低电平在USB设备中,对于高速设备会在D+通过一个1.5K的电阻接到VCC而低俗设备会在D-通过一个1.5K的电阻接到VCC。这样主机就可以通过D+和D-的高电平的箌来来检测是否有设备接入并且识别高低速设备。

144、 UCOSII是一种实时操作系统具有执行效率高、占有空间小(最小内核2KB)、实施性能优良、扩展性强和移植性强等优点。
UCOS具有多任务并发工作的特点(注意任何时候只有一个任务能够占用CPU。并发只是任务轮流占用CPU而不是同时笁作)最大支持255个任务并发工作。

}

大家好我在使用Keil-v5版本开发stm32电平F103RCT6型号的MCU的USB时遇见一个问题,在此请教下

问题来了,为什么以上设置不起作用板子上电后PC没有反应,USB口没有驱动起来

而在程序中直接使鼡以下代码就可以



}

我要回帖

更多关于 stm32电平 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信