袁伟康2013

    1. 谢谢啊,我已经搞明白了,我是最后退出的时候定义的静态数组没有处理好,没明白第二次输入字符串的过程,下次还给指点指点啊,:congratulate:
    2. 急急急,stm32串口通讯卡死啦 4/5245 stm32/stm8 2013-10-27
      谢谢
    3. 我把它用静态变量存起来,结果是,比如第一次发1,能够计算,第二次发12也能计算,同样发的字符串越长也能计算,但是如果发了123,再发1,或者12,短的字符串就不能够计算了,这是怎么回事啊
    4. 什么意思??我已经调试很多遍了就是接收的为空
    5. 急急急,stm32串口通讯卡死啦 4/5245 stm32/stm8 2013-10-25
      就是串口通讯中,通过串口调试助手上显示,比如怎样实现10000-x
    6. stm32,串口 2/2524 stm32/stm8 2013-10-24
      谢谢啦啊,那再问一下,USART1_Printf咋用啊?你有没有最新版本的库啊,很急:congratulate:
    7. stm32外部中断,求大神指导 13/3925 stm32/stm8 2013-10-23
      :Cry: /***********************************************************************         谢谢啊 ,再问一下,下面这个程序怎样设置优先级呢?怎样就能用一根中断线配置两个中断口,中断服务程序怎么写啊, 求大神指导啊, ************************************************************************/ #include "stm32f10x.h" #include "string.h" /***********************************************************************          外设时钟使能 ************************************************************************/ void RCC_Configuration(void) {                   /*  使能外设时钟 */         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_AFIO |                                                    RCC_APB2Periph_GPIOA  | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC |                                                    RCC_APB2Periph_GPIOD  | RCC_APB2Periph_GPIOE, ENABLE);            RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); } /*******************************************************************************                全部用到的引脚将在在配置 *******************************************************************************/ void GPIO_Configuration(void) {         GPIO_InitTypeDef GPIO_InitStructure; //    /* 配置串口1引脚  */ //    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //    GPIO_Init(GPIOA, &GPIO_InitStructure); //    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //    GPIO_Init(GPIOA, &GPIO_InitStructure);                  /*外部中断引脚*/         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_Init(GPIOD, &GPIO_InitStructure);                  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;     GPIO_Init(GPIOE, &GPIO_InitStructure);         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;     GPIO_Init(GPIOE, &GPIO_InitStructure);         /*LED*/         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     GPIO_Init(GPIOB, &GPIO_InitStructure);         }                                  /*******************************************************************************         全部中断在此配置 *******************************************************************************/ void NVIC_Configuration(void) {     NVIC_InitTypeDef NVIC_InitStructure;     /* Configure the NVIC Preemption Priority Bits */       NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);     /* Enable the USART1 Interrupt */ //    NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //    NVIC_Init(&NVIC_InitStructure);         NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;        // S4中断入口         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     NVIC_Init(&NVIC_InitStructure); //        NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;        // S3中断入口 //    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //    NVIC_Init(&NVIC_InitStructure);         NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     NVIC_Init(&NVIC_InitStructure); } /*******************************************************************************         外部中断在此配置 *******************************************************************************/ void EXTI_Configuration(void) {     EXTI_InitTypeDef EXTI_InitStructure;         GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource13);          // S4中断         EXTI_InitStructure.EXTI_Line = EXTI_Line13;     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;     EXTI_InitStructure.EXTI_LineCmd = ENABLE;     EXTI_Init(&EXTI_InitStructure);         GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource13);          // S3中断         EXTI_InitStructure.EXTI_Line = EXTI_Line13;     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;     EXTI_InitStructure.EXTI_LineCmd = ENABLE;     EXTI_Init(&EXTI_InitStructure);         GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5);          // S3中断         EXTI_InitStructure.EXTI_Line = EXTI_Line5;     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;     EXTI_InitStructure.EXTI_LineCmd = ENABLE;     EXTI_Init(&EXTI_InitStructure);         //EXTI_GenerateSWInterrupt(EXTI_Line13); } /*******************************************************************************         初始化时钟晶振 72MHZ *******************************************************************************/ void SysClock_Init(void) {         ErrorStatus HSEStartUpStatus;              RCC_DeInit();         RCC_HSEConfig(RCC_HSE_ON);         HSEStartUpStatus = RCC_WaitForHSEStartUp();         if(HSEStartUpStatus == SUCCESS){             FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);                 FLASH_SetLatency(FLASH_Latency_2);             RCC_HCLKConfig(RCC_SYSCLK_Div1);                        RCC_PCLK2Config(RCC_HCLK_Div1);                      RCC_PCLK1Config(RCC_HCLK_Div2);                     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);                     RCC_PLLCmd(ENABLE);                     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){                     ;                 }                     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);                     while(RCC_GetSYSCLKSource() != 0x08){                     ;                 }         } } /*****************************************************************           USART1 初始化 baud 波特率 *****************************************************************/ void USART1_Init(unsigned int baud) {     USART_InitTypeDef USART_InitStructure;     USART_InitStructure.USART_BaudRate = baud;     USART_InitStructure.USART_WordLength = USART_WordLength_8b;     USART_InitStructure.USART_StopBits = USART_StopBits_1;     USART_InitStructure.USART_Parity = USART_Parity_No;     USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;     USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;     USART_Init(USART1, &USART_InitStructure);     USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);     USART_Cmd(USART1, ENABLE); } /*****************************************************************           从 USART1 发送一个字节 *****************************************************************/ void USART1_SendByte(unsigned char temp) {     USART_SendData(USART1, temp);     while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); } /*****************************************************************           从 USART1 发送字符串 *****************************************************************/ void USART1_Printf(char *pch) {     while(*pch != '\0'){         USART1_SendByte(*(unsigned char *)pch);         pch++;     } } /****************************************** * *             延时程序 ms * ****************************************/ void Delay(unsigned short time) {     unsigned short i, j;                  for(; time > 0; time--){             for(j = 0; j < 10; j++){                     for(i = 0; i < 1000; i++);                 }         } } /*******************************************************                 MAIN 函数 *******************************************************/ int main(void) {                       SysClock_Init();                 // 初始化系统时钟 72MHZ         RCC_Configuration();         //        使能外设         GPIO_Configuration();         //        配置引脚         NVIC_Configuration();         // 配置中断         EXTI_Configuration(); //        USART1_Init(9600);                 // 配置串口1,波特率9600 //    //        USART1_Printf("火牛开发板基础实验");                  while(1){             ;                                            }     // return(0); }
    8. stm32外部中断,求大神指导 13/3925 stm32/stm8 2013-10-23
      /***********************************************************************         谢谢啊:) ,再问一下,下面这个程序怎样设置优先级呢?怎样就能用一根中断线配置两个中断口,中断服务程序怎么写啊,:) 求大神指导啊, ************************************************************************/ #include "stm32f10x.h" #include "string.h" /***********************************************************************          外设时钟使能 ************************************************************************/ void RCC_Configuration(void) {                  /*  使能外设时钟 */         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_AFIO |                                                    RCC_APB2Periph_GPIOA  | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC |                                                    RCC_APB2Periph_GPIOD  | RCC_APB2Periph_GPIOE, ENABLE);            RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); } /*******************************************************************************                全部用到的引脚将在在配置 *******************************************************************************/ void GPIO_Configuration(void) {         GPIO_InitTypeDef GPIO_InitStructure; //    /* 配置串口1引脚  */ //    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //    GPIO_Init(GPIOA, &GPIO_InitStructure); //    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //    GPIO_Init(GPIOA, &GPIO_InitStructure);                 /*外部中断引脚*/         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_Init(GPIOD, &GPIO_InitStructure);                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;     GPIO_Init(GPIOE, &GPIO_InitStructure);         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;     GPIO_Init(GPIOE, &GPIO_InitStructure);         /*LED*/         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     GPIO_Init(GPIOB, &GPIO_InitStructure);        }                                   /*******************************************************************************         全部中断在此配置 *******************************************************************************/ void NVIC_Configuration(void) {     NVIC_InitTypeDef NVIC_InitStructure;     /* Configure the NVIC Preemption Priority Bits */       NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);     /* Enable the USART1 Interrupt */ //    NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //    NVIC_Init(&NVIC_InitStructure);         NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;        // S4中断入口         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     NVIC_Init(&NVIC_InitStructure); //        NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;        // S3中断入口 //    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //    NVIC_Init(&NVIC_InitStructure);         NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     NVIC_Init(&NVIC_InitStructure); } /*******************************************************************************         外部中断在此配置 *******************************************************************************/ void EXTI_Configuration(void) {     EXTI_InitTypeDef EXTI_InitStructure;         GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource13);          // S4中断         EXTI_InitStructure.EXTI_Line = EXTI_Line13;     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;     EXTI_InitStructure.EXTI_LineCmd = ENABLE;     EXTI_Init(&EXTI_InitStructure);         GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource13);          // S3中断         EXTI_InitStructure.EXTI_Line = EXTI_Line13;     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;     EXTI_InitStructure.EXTI_LineCmd = ENABLE;     EXTI_Init(&EXTI_InitStructure);         GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5);          // S3中断         EXTI_InitStructure.EXTI_Line = EXTI_Line5;     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;     EXTI_InitStructure.EXTI_LineCmd = ENABLE;     EXTI_Init(&EXTI_InitStructure);         //EXTI_GenerateSWInterrupt(EXTI_Line13); } /*******************************************************************************         初始化时钟晶振 72MHZ *******************************************************************************/ void SysClock_Init(void) {         ErrorStatus HSEStartUpStatus;              RCC_DeInit();         RCC_HSEConfig(RCC_HSE_ON);         HSEStartUpStatus = RCC_WaitForHSEStartUp();         if(HSEStartUpStatus == SUCCESS){             FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);                 FLASH_SetLatency(FLASH_Latency_2);             RCC_HCLKConfig(RCC_SYSCLK_Div1);                        RCC_PCLK2Config(RCC_HCLK_Div1);                     RCC_PCLK1Config(RCC_HCLK_Div2);                    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);                    RCC_PLLCmd(ENABLE);                    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){                     ;                 }                    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);                    while(RCC_GetSYSCLKSource() != 0x08){                     ;                 }         } } /*****************************************************************           USART1 初始化 baud 波特率 *****************************************************************/ void USART1_Init(unsigned int baud) {     USART_InitTypeDef USART_InitStructure;     USART_InitStructure.USART_BaudRate = baud;     USART_InitStructure.USART_WordLength = USART_WordLength_8b;     USART_InitStructure.USART_StopBits = USART_StopBits_1;     USART_InitStructure.USART_Parity = USART_Parity_No;     USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;     USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;     USART_Init(USART1, &USART_InitStructure);     USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);     USART_Cmd(USART1, ENABLE); } /*****************************************************************           从 USART1 发送一个字节 *****************************************************************/ void USART1_SendByte(unsigned char temp) {     USART_SendData(USART1, temp);     while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); } /*****************************************************************           从 USART1 发送字符串 *****************************************************************/ void USART1_Printf(char *pch) {     while(*pch != '\0'){         USART1_SendByte(*(unsigned char *)pch);         pch++;     } } /****************************************** * *             延时程序 ms * ****************************************/ void Delay(unsigned short time) {     unsigned short i, j;                 for(; time > 0; time--){             for(j = 0; j < 10; j++){                     for(i = 0; i < 1000; i++);                 }         } } /*******************************************************                 MAIN 函数 *******************************************************/ int main(void) {                      SysClock_Init();                 // 初始化系统时钟 72MHZ         RCC_Configuration();         //        使能外设         GPIO_Configuration();         //        配置引脚         NVIC_Configuration();         // 配置中断         EXTI_Configuration(); //        USART1_Init(9600);                 // 配置串口1,波特率9600 //    //        USART1_Printf("火牛开发板基础实验");                 while(1){             ;                                           }     // return(0); }
    9. stm32外部中断,求大神指导 13/3925 stm32/stm8 2013-10-23
      心情一急给忘了说问题,中断通道怎样用EXTI9_5_IRQn ,谢谢大神啊
    10. stm32外部中断,求大神指导 13/3925 stm32/stm8 2013-10-23
      心情一急给忘了说问题,中断通道怎样用EXTI9_5_IRQn
    11. stm32外部中断,求大神指导 13/3925 stm32/stm8 2013-10-23
      怎样使用中断通道EXTI9_5_IRQn:Sad:
    12. stm32外部中断,求大神指导 13/3925 stm32/stm8 2013-10-23
      我是想说我的没现象:Sad:

最近访客

< 1/1 >

统计信息

已有257人来访过

  • 芯积分:--
  • 好友:4
  • 主题:5
  • 回复:12

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言