请选择 进入手机版 | 继续访问电脑版
搜索
查看: 61150|回复: 196

【ST MCU实战经验】ST FAE专家问答汇总(2017.8更新)

  [复制链接]

284

主题

3429

帖子

4

好友

Rank: 8Rank: 8

论坛元老

注册时间
2012-6-25
发表于 2014-1-23 14:58:52 | 显示全部楼层 |阅读模式
>>实战经验列表


社区资料下载栏目开通【ST MCU实战经验】版块,将在这个板块中,针对工程师的应用问题,ST做了详细的解答。进入ST MCU实战经验,可直接下载文档以及程序。也欢迎大家回帖交流。

提示:点击各主题,进入帖子,可下载ST工程师解答详请

一、通信接口

1.STM32F2x7_Ethernet(FreeRTOS)驱动更新

2.SPI 接口发片选信号导致死机

3.USART1不能设定600BPS的波特率

4.I2C 接口进入 Busy 状态不能退出

5.对 Flash操作导致 USARTU接收丢数据

6.USB接口易损坏

7.UART发送数据丢失最后一个字节

8.使用 CCM 导致以太网通信失败

9.SPI3 接口没有信号送出

10.时钟延展导致 I2C 通信不可靠

11.M0的USART波特率自动识别问题

12.WK15 OTG做U盘主机兼容性提高

13.以太网电路设计注意事项

14.OUG主机库在BULK传输上对NAK的处理

15.串口断帧检测

16.VCP例程用于数据传输时丢失数据的处理

17.STM8L051F3P6串口UART数据起始位判断的问题

18.STM8L152C6T6 硬件IIC,发送从地址后无ACK信号

19.STM8中UART奇偶校验的使用方法

20.STM32以太网硬件设计——PHY

21.一个判断I2C总线通信异常原因的方法

22.USB device库使用说明

23.STM32F103上USB的端点资源

24.使用CubeMX生成TCPEchoServer程序

25.SPI接收数据移位

26.STM32F0中Guard Time的设置

27.LwIP内存配置

28.STM32 USB Device的简易验证方法

29. USART 中断方式接收无响应问题的一种情况及其处理方法

30. STM32 基于 Nucleo板 CAN总线的建立

31. STM8 CAN总线的IdMask模式的讲解

32. STM32F746ZG USB 驱动不正常

33. MCU在STOP状态下通过UART唤醒分析

34. 通过STM32CubeMX生成HID双向通讯工程

35. 串口工作在DMA模式下有时接收异常

36. STM32 Bootloader中 DFU使用限制

37. UART异常错误分析

38. 基于Cube库无法检测CAN2的接收中断

39. 基于STM32F7的网络时间同步客户端实现

40. HID与音频冲突问题

41. 在进行USB CDC类开发时,无法发送64整数倍的数据  

42. 从零开始使用CubeMX创建以太网工程  

43.STM32F4xxx的I2C总线挂起异常处理   (2017.1更新)

44. LPUART唤醒STOP MODE下的MCU (2017.4更新)

45.STM32系列 MCU模拟双盘符 U盘的应用 (2017.4更新)

46. CEC输出的数据和数据长度始终不匹配 (2017.4更新)

47. STM8Lxxx I2C 程序第二次数据通信失败的问题分析 (2017.5更新)

48. 在进行 USB CDC类开发时, 无法发送64整数倍的数据(续) (2017.5更新)

49.增加UART接口应用时的异常分析  (2017.5更新)

50.UART应用异常案例分析  (2017.5更新)

51.I2C配置顺序引发的异常案例  (2017.5更新)

52.STM32 USBD VBUS GPIO (2017.6更新)



二、电源与复位

1.Vbat管脚上的怪现象

2.上电缓慢导致复位不良

3.关闭电源还在运行

4.使用STM32 实现锂电充电器

5.STM8L152 IDD电流测量

6.STM8连续复位问题

7.STM32F2电压调节器REGOFF与IRROFF引脚的使用

8.使用STM8L-Discovery验证STM8L在LSI+WAIT模式下的电流

9.STM32F7与STM32F4的复位序列比较

10.STM32F107 复位标志问题

11.VBUS引脚一段时间后管脚无法正常工作的分析和解决方法  

12. Nucleo_L053不上电也能运行 (2017.4更新)

13. STM32L4中STOP2模式下的漏电流 (2017.6更新)

14. 在没有外置晶振时HSE_RDY异常置位 (2017.6更新)



三、IAP和Bootloader

1.Boot Loader与上位机通信不稳定

2.IAP+APP 模式下不能启动 RTOS

3.从 IAP Loader 向 App 跳转不可靠

4.STM32 MCU IAP例程跳转到APP代码简要分析

5.STM32F091从自举程序向应用程序跳转的问题与解决

6.STM32F09x不使用BOOT脚实现System Bootloader升级代码

7.STM32F0启动模式相关问题探讨

8. STM32F091空片使用System Bootloader下载代码

9.STM8L  IAP 应用程序中编程指导

10.如何通过STM32的串口实现简易脱机编程器

11.一种从用户代码调用系统存储器中Bootloader 的方法  

12.利用 USB DFU实现 IAP功能  

13.STM32 Bootloader中 DFU使用限制

14.STM32L011x和STM32L021x启动模式注意事项  

15.STM32L011&STM32F091 空片检测进行 System Bootloader 编程注意事项

16.无法使用内置 Bootloader 的 DFU 方式进行固件升级

17.如何使用STM32NUCLEO 板来测试串口Bootloader

18. 在STM32L011上通过I2C接口实现IAP

19.在IAR中实现通过将程序在SRAM中调试的方法  

20. STM32F769AI 同时使能FMC 和QSPI 带来的引脚冲突问题 (2017.4更新)

21. USB DFU IAP 例程移植的两个话题 (2017.4更新)

22. STM32F769双bank启动   (2017.6更新)

23. DFU加载 工具 DfuSeCommand的使用   (2017.8更新)


四、存储器

1.对 Flash操作导致 USARTU接收丢数据

2.使用外部 SRAM 导致死机

3.SRAM 中的数据丢失

4.干扰环境下 Flash 数据丢失

5.使用 CCM 导致以太网通信失败

6.STM32F429使用外扩SDRAM运行程序的方法

7.使用STVP实现对STM32L1系列EEPROM预置数据

8.FreeRTOS RAM使用情况及优化方法

9.在IAR 6.5下如何将数据存放至flash中

10.IAR下如何让程序在RAM中运行

11.RAM上电后初始值问题

12.Stem Win 驱动移植-FLASH&PSRAM(MCP)接口驱动设计

13.LwIP内存配置

14.STM32F2高低温死机问题

15.使用STM32F427的CCM RAM时遇到的问题  (2017.1更新)



五、模拟外设

1.ADC对小信号的转换结果为零

2.ADC键盘读不准

3.扫描模式下 ADC 发生通道间串扰

4.DAC无法输出0V的问题分析解决

5.DAC无法输出满量程电压的分析解决

6.STM32F30x 的ADC 采样的傅立叶变换

7.STM32 F1系列 DAC的示例详解

8.ADC 连续模式采样浮空引脚问题

9.PWM硬件间隔触发ADC  (2017.1更新)

10.STM32F30x 禁止ADC 已关闭情况下再次关闭ADC (2017.4更新)

11.STM32L4 系列中ADC 通道配置上的区别  (2017.4更新)

12. STM32 ADC模拟看门狗及其应用 (2017.4更新)

13. STM32L053 comp2 比较电压无效问题 (2017.8更新)



六、计数外设

1.Watch Dog 失效

2.RTC计秒不均匀

3.软件启动模式导致 IWatchDog 失效

4.STM32F030R8 定时器移植问题

5.STM32F0使用RTC Tamper的几个注意事项

6.STM32L053可控PWM脉冲方法之DMA

7.CounterMode,OCMode与OCPolarity关系

8.STM32L053可控PWM脉冲方法之DMA

9.STM32F1通用定时器示例详解—TimeBase

10.STM32F1通用定时器示例详解--TIM15_ComplementarySignals

11.STM32F334 应用于LLC + SR 的高精度 Timer 波形产生

12.HRTIMER的多种Fault事件联动机制

13.STM32通用定时器 示例详解 —One Pulse

14.如何用LSE校准STM32F4内部RC振荡器

15.一种使用Timer测试HSI实际值的方法

16.FreeRTOS定时器精度研究

17.HRTIMER产生多相相移信号

18.窗口看门狗启动时异常复位问题

19.PWM硬件间隔触发ADC  (2017.1更新)

20.STM32F030低温下RTC不工作 (2017.2更新)



七、内核

1.使用指针函数产生Hard Faul

2.调试器不能通过JTAG连接器件

3.鬼魅一样的Hard Fault

4.进入了已屏蔽的中断

5.浮点 DSP 运算效率不高

6.STM32上RTOS的中断管理

7.STM32F7与STM32F4的复位序列比较

8.STM32F30x 的ADC 采样的傅立叶变换

9.EXTI重复配置两次导致误触发中断的问题

10.STM32F3xx/STM32F4xx使用浮点开方指令

11.RMW(Read-Modify-Write)对 STM32F7xx内核运行速度的影响

12.STM32F7 MPU Cache浅析    (2017.3更新)



八、系统外设

1.PCB 漏电引起 LSE 停振

2.时钟失效后CPU还会正常运行

3.STM32F2中DMA的FIFO模式

4.STM32L053的GPIO翻转速度的测试

5.STM32F4xx PCROP应用

6.STM32L053的GPIO翻转速度的测试

7.如何在IAR中配置CRC参数

8.PCROP区域函数无法被调用的问题与解决

9.关于AN4065中STM32F0 IAP升级后的外部中断不响应问题

10.Stem Win 驱动移植-FLASH&PSRAM(MCP)接口驱动设计

11.如何用LSE校准STM32F4内部RC振荡器

12.EXTI重复配置两次导致误触发中断的问题  

13.时钟安全系统的应用(LES篇)   (2017.1更新)
14.利用DFSDM开发PDM麦克风应用介绍   (2017.8更新)


九、标签和收发器

1.CR95HF的初始化步骤



十、生态系统

1.STemWin_Library_V1.1.1中STM324x9I-EVAL的RTOS工程显示不正常问题

2.MDK Logic Analyzer 功能在STM32中的实现问题

3.在IAR6.5下如何将数据存放至flast中

4.FatSL移植笔记

5.Keil中使用STM32F4xx硬件浮点单元

6.如何生成库文件(MDK和IAR)

7.Nand Flash文件系统解决方案

8.STVD在调试时弹出“Cannot access configuration database”的解决

9.RTOS低功耗特性的设计原理和实现

10.IAR下使用J-Trace进行指令跟踪

11.STM32上RTOS的中断管理

12.IAR下如何让程序在RAM中运行

13.如何在IAR中配置CRC参数

14. 基于STM32F411 Nucleo板的Broadcom Wi-Fi开发套件的快速开始手册

15.使用mbed进行STM32开发及STM32F0的时钟问题

16.使用STM32CubeMX实现USB虚拟串口的环回测试功能

17.多任务系统中的不可重函数使用注意事项

18.STM32 utility的hot plug功能

19. 如何将CoreMark程序移植到STM32上

20.FreeRTOS定时器精度研究

21.如何使用Eclipse和GCC搭建STM32环境

22.如何建立一个基于GIT的STM32库   

23.从零开始使用CubeMX创建以太网工程  

24.从STM32Cube库向标准外设库移植FatFs文件系统 (2017.2更新)

25. 基于 STemWin的屏幕旋转  (2017.3更新) [size=13.3333px]

26. 编译软件 Hex文件烧写 (2017.4更新)

27. 使用B-L475E-IOT01A探索套件连接AWS IOT平台 (2017.5更新)

28. USB CDC类入门培训 (2017.7更新)

29. USB DFU培训 (2017.8更新)



十一、调试

1.关于STM8S SWIM Error[30006]的分析

2.STVD在调试时弹出“Cannot access configuration database”的解决

3.IAR下使用J-Trace进行指令跟踪

4.菊花链 JTAG STM32

5.STM32F411CEUx 能下载程序但不能执行

6.STM32F103C8T6 程序上电跑飞

7.使用STM32 ST-LINK Utility 设置读保护后不能运行

8.VBUS引脚一段时间后管脚无法正常工作的分析和解决方法  

9.SWIM协议的GPIO口模拟  (2017.1更新)

10.STM32F091空片使用ST-LINK烧写后复位不能运行用  (2017.6更新)



十二、人机调试

1.一步步使用STemWin在STM32上开发一个简单的应用

2.Stem Win 驱动移植-FLASH&PSRAM(MCP)接口驱动设计

3.GUI方案中ALPHA通道处理介绍     (2017.1更新)

4.基于FMC8080接口8位LCD的STemWin的移植     (2017.6更新)



十三、马达

1、电机控制同步电角度测试说明



十四、其他

1.跳不出的 while 循环

2.外部IC连接NRST导致MCU内部复位信号失效的问题

3.潮湿环境下不工作

4.PCB 漏电引起 LSE 停振

5.STM8L152 IDD电流测量

6.使用STM32实现锂电池充电器

7.STM32_STM8硬件平台基本检查

8.验证STM32F401在STOP模式下的电流

9.P-NUCLEO-IHM001 电机开发板串口调试指南

10.一种计算CPU使用率的方法及其实现原理

11.STM32 RTC不更新原因分析

12.关于ST库函数的代码性能对比

13.在IAR中实现通过将程序在SRAM中调试的方法  

14. M95xxx EEPROM写保护配置 (2017.4更新)

15. 4SRxx的GPO的属性 (2017.4更新)

16. CR95HF的初始化步骤  (2017.4更新)

17. 电机控制同步电角度测试说明  (2017.4更新)

18. STM32+BLE通过 Notification与 Android应用程序通信的例程 (2017.4更新)

19. M95xxx EEPROM介绍 (2017.4更新)

20. STM32 DFSDM测量温度应用 (2017.4更新)

21. 代码实现PCROP清除(2017.6更新)

22. 理解与应用MPU的特权与用户模式(2017.6更新)

23.用于电机控制单电阻采样PWM变形信号产生(2017.7更新)

24.STM32L低功耗模式唤醒时间测量(2017.7更新)

25.X_CUBE_SPN7程序电机启动抖动问题(2017.7更新)

26.发现STM32防火墙的安全配置(2017.7更新)




温馨提示:

如果您在使用ST产品过程中出现问题,欢迎在社区发新帖提问。版主和工程师网友会热心帮助您。




回复

使用道具 举报

0

主题

5

帖子

0

好友

Rank: 1

新手上路

注册时间
2016-7-20
发表于 2016-7-26 19:35:55 | 显示全部楼层
非常好的帖子,THANKS!
回复 支持 1 反对 0

使用道具 举报

4

主题

134

帖子

17

好友

Rank: 4

高级会员

注册时间
2014-5-30
发表于 2015-10-6 23:36:53 | 显示全部楼层
沐紫姐,请教个关于SWD下载的问题,我现在可以访问到DP-ID、AP-ID和FLASH容量大小了,在访问内核调试寄存器和读取ROM存储器表时,ACK应答不成功:
1、AHB-AP寄存器的TAR寄存器说的是读或是写的地址,这个寄存器是32位,是不是可以访问从0x00000000-0xFFFFFFFF的所有地址呢?
我用这个寄存器可以访问GPIOA、FLASH容量寄存器,其它的像GPIOB、GPIOC、调试控制和状态寄存器DHCSR等就访问不了,ACK应答为111,不知道这个怎么回事?
2、AHB-AP的CSW控制状态字寄存器,我读这个寄存器,默认的值是0x03000040,看Cortex-M3技术参考手册-r1p1英文版的259页,它的31-28位修改不了,和默认值不相符,是不是有问题呢?
回复 支持 反对

使用道具 举报

1

主题

59

帖子

0

好友

Rank: 3Rank: 3

中级会员

注册时间
2013-6-8
发表于 2017-7-4 22:53:35 | 显示全部楼层
楼主您好 我在使用STM32CUBE配置以太网通信,使用的是正点原子STM32F407的板子,PHY芯片采用的LAN8720A,但是STM32F4cube中配置使用的芯片是LAN8742A,网上看了帖子说是二者相差不大,但是我一直没有配置成功,请问您有相关的资料或者是源码吗?
我参考了以下帖子
http://www.stmcu.org/module/forum/thread-609819-1-1.html
http://bbs.*mod=viewthread&tid=1120066
但是都没有得到帖子中的结果
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

好友

Rank: 1

新手上路

注册时间
2014-1-9
发表于 2014-1-23 15:10:56 | 显示全部楼层

回复:【ST MCU实战经验】栏目开通!官方解答应用问题,欢迎下载!

楼主,我想问一下,STM32F4 SPI1和SPI2自通信问题,SPI1为主模式,SPI2为从模式,可是我在设置波特率时,必须按二分频,SPI2才收得到SPI1发来的数据,如果设置为其他分频情况,将卡在while(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXNE)==RESET); 这句上,还有就是SPI1和SPI2的波特率是不是必须为相同的,才能正确通信
以下是全部代码:
#include"stm32F4xx.h"
void RCC_Configuration(void);
void GPIO_Configuration(void);
void SPI_Configuration(void);
void Delay(int nCount);
int main(void)
{  RCC_Configuration();
  GPIO_Configuration();
  SPI_Configuration();
 while(1)
 { int data=0;
  SPI_SendData(SPI1,0x55);
  while(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXNE)==RESET);
  data=SPI_ReceiveData(SPI2);
  if(data==0x55)
     {  while(1)
             {   GPIO_SetBits(GPIOA,GPIO_Pin_4);
                Delay(0xfffff);
                GPIO_ResetBits(GPIOA,GPIO_Pin_4);
                Delay(0xfffff);
  
             };
     }
     else while(1)
            {   GPIO_SetBits(GPIOA,GPIO_Pin_4);
               //Delay(0xfffff);
               //GPIO_ResetBits(GPIOA,GPIO_Pin_5);
               //Delay(0xfffff);
  
            };
 }
}
void RCC_Configuration()
{  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB, ENABLE);  
}
void GPIO_Configuration()
{  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
  GPIO_Init(GPIOA,&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA,&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
  GPIO_Init(GPIOB,&GPIO_InitStructure);
}
void SPI_Configuration()
{  SPI_InitTypeDef SPI_InitStructure;
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_SPI1);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_SPI1);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_SPI1);
   GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI2);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_SPI2);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_SPI2);
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
   SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
   SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;
  SPI_Init(SPI1, &SPI_InitStructure);
  SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;
   SPI_Init(SPI2, &SPI_InitStructure);
   SPI_Cmd(SPI1,ENABLE);
   SPI_Cmd(SPI2,ENABLE); 
}
void Delay(int nCount)
{ int c1=nCount;
 int c2=nCount;
 for(;c1>0;c1--)
  {
  for(;c2>0;c2--);
 };
}
先谢谢了~~
回复 支持 反对

使用道具 举报

284

主题

3429

帖子

4

好友

Rank: 8Rank: 8

论坛元老

注册时间
2012-6-25
 楼主| 发表于 2014-1-23 15:22:54 | 显示全部楼层

回复:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!

回复第 2 楼 于2014-01-23 15:10:56发表:
楼主,我想问一下,STM32F4 SPI1和SPI2自通信问题,SPI1为主模式,SPI2为从模式,可是我在设置波特率时,必须按二分频,SPI2才收得到SPI1发来的数据,如果设置为其他分频情况,将卡在while(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXNE)==RESET); 这句上,还有就是SPI1和SPI2的波特率是不是必须为相同的,才能正确通信
以下是全部代码:
#include"stm32F4xx.h"
void RCC_Configuration(void);
void GPIO_Configuration(void);
void SPI_Configuration(void);
void Delay(int nCount);
int main(void)
{  RCC_Configuration();
  GPIO_Configuration();
  SPI_Configuration();
 while(1)
 { int data=0;
  SPI_SendData(SPI1,0x55);
  while(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXNE)==RESET);
  data=SPI_ReceiveData(SPI2);
  if(data==0x55)
     {  while(1)
             {   GPIO_SetBits(GPIOA,GPIO_Pin_4);
                Delay(0xfffff);
                GPIO_ResetBits(GPIOA,GPIO_Pin_4);
                Delay(0xfffff);
  
             };
     }
     else while(1)
            {   GPIO_SetBits(GPIOA,GPIO_Pin_4);
               //Delay(0xfffff);
               //GPIO_ResetBits(GPIOA,GPIO_Pin_5);
               //Delay(0xfffff);
  
            };
 }
}
void RCC_Configuration()
{  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB, ENABLE);  
}
void GPIO_Configuration()
{  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
  GPIO_Init(GPIOA,&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA,&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
  GPIO_Init(GPIOB,&GPIO_InitStructure);
}
void SPI_Configuration()
{  SPI_InitTypeDef SPI_InitStructure;
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_SPI1);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_SPI1);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_SPI1);
   GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI2);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_SPI2);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_SPI2);
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
   SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
   SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;
  SPI_Init(SPI1, &SPI_InitStructure);
  SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;
   SPI_Init(SPI2, &SPI_InitStructure);
   SPI_Cmd(SPI1,ENABLE);
   SPI_Cmd(SPI2,ENABLE); 
}
void Delay(int nCount)
{ int c1=nCount;
 int c2=nCount;
 for(;c1>0;c1--)
  {
  for(;c2>0;c2--);
 };
}
先谢谢了~~
 

楼上的问题,看我帖子给出的提示哦~
回复 支持 反对

使用道具 举报

40

主题

1632

帖子

0

好友

Rank: 6Rank: 6

金牌会员

注册时间
2011-12-29
发表于 2014-1-24 09:53:43 | 显示全部楼层

RE:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!

非常详细,具有参考价值,支持
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

好友

Rank: 1

新手上路

注册时间
2013-7-28
发表于 2014-2-14 11:37:16 | 显示全部楼层

回复:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!

 多谢,真好的板块,学嵌入式的好地方啊,来对了,哈哈。
回复 支持 反对

使用道具 举报

284

主题

3429

帖子

4

好友

Rank: 8Rank: 8

论坛元老

注册时间
2012-6-25
 楼主| 发表于 2014-2-26 17:13:44 | 显示全部楼层

回复:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!

回复第 5 楼 于2014-02-14 11:37:16发表:
 多谢,真好的板块,学嵌入式的好地方啊,来对了,哈哈。
 

多谢支持!!
回复 支持 反对

使用道具 举报

2

主题

22

帖子

0

好友

Rank: 2

初级会员

注册时间
2014-1-15
发表于 2014-3-9 13:43:20 | 显示全部楼层

RE:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!

ST社区做的确实很好 版块引导很好 资料分区也好
回复 支持 反对

使用道具 举报

15

主题

147

帖子

1

好友

Rank: 3Rank: 3

中级会员

注册时间
2012-3-17
发表于 2014-4-3 18:52:58 | 显示全部楼层

RE:【ST工程师 MCU实战经验30篇】之USB接口易损坏

非常好的帖子,希望可以及时汇总更新,收藏了
回复 支持 反对

使用道具 举报

1

主题

21

帖子

0

好友

Rank: 2

初级会员

注册时间
2012-7-10
发表于 2014-4-4 18:00:50 | 显示全部楼层

回复:【ST工程师 MCU实战经验30篇】之USB接口易损坏

非常不错哦,支持下
回复 支持 反对

使用道具 举报

1

主题

21

帖子

0

好友

Rank: 2

初级会员

注册时间
2012-7-10
发表于 2014-4-4 18:00:51 | 显示全部楼层

回复:【ST工程师 MCU实战经验30篇】之USB接口易损坏

非常不错哦,支持下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

Archiver|手机版|小黑屋|意法半导体STM32/STM8技术社区    

GMT+8, 2017-8-18 07:29 , Processed in 0.159827 second(s), 12 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表