guhaian

    1. STM32F107的USBHOST问题---INtoken发不出去 57/16278 stm32/stm8 2010-12-13
                                       我的问题已解决! TNND,整整耗了我3个星期! 如果有人感兴趣的话,我稍后上传STM32F107读U盘程序.
    2.                                   就是Micrium官方2.86的port在中断嵌套上面有问题,所以才想找找ST官方的。
    3. 进入死循环了
    4. T9输入法注册表设置问题 6/4391 嵌入式系统 2010-05-19
      还是没好啊
    5. GPRS开发板 7/4155 stm32/stm8 2010-05-07
                                       看看你的成品
    6. 串口读取数据过滤 9/4996 嵌入式系统 2010-05-05
      if(irpsp->MajorFunction == IRP_MJ_WRITE) { ULONG len = irpsp->Parameters.Write.Length; PUCHAR buf = NULL; if(irp->MdlAddress != NULL) buf =   (PUCHAR) MmGetSystemAddressForMdlSafe(irp->MdlAddress,NormalPagePriority); else buf = (PUCHAR)irp->UserBuffer; if(buf == NULL) buf = (PUCHAR)irp->AssociatedIrp.SystemBuffer; }   // added  by me   if(len>=3)      {          buf[0] = 'a';          buf[1] = 'b';          buf[2] = 'c';       }   // IoSkipCurrentIrpStackLocation(irp); return IoCallDriver(s_nextobj,irp); } 后添加部分代码可以将想要发送的数据前三个字节更改 但是如果向下面这样 if(irpsp->MajorFunction == IRP_MJ_WRITE) { ULONG len = irpsp->Parameters.Write.Length; PUCHAR buf = NULL; buf = (PUCHAR)irp->AssociatedIrp.SystemBuffer; }   // added  by me   if(len>=3)      {          buf[0] = 'a';          buf[1] = 'b';          buf[2] = 'c';       }   // IoSkipCurrentIrpStackLocation(irp); return IoCallDriver(s_nextobj,irp); } 如上在更改读取到的数据时同样想更改数据,但是用串口调试助手得到的数据没有被更改 这回应该说清楚了吧 也就是想了解如果想要从驱动层拦截串口收到的数据然后自己处理再交给应用层改怎么做
    7.                                  当然知道这是链表,问题是它是怎么编译的? 人的思维(非机器手段)是不能理解用一个未知去定义另一个未知的。 能否简单的从“词法分析”,“语发分析”的方面给个解释。
    8. 驱动没问题就应该没事,我正在用这个,你的wince系统是从哪找的,看看有没有声卡驱动
    9. 驱动是包含在系统镜像NK里边的,所以不用重新烧BOOTLOADER,只重新烧NK就行了
    10. IIC 编程 4/2747 嵌入式系统 2010-03-18
      引用 1 楼 zdxin 的回复: 这个程序有问题。 大写的 B 应该改为小写的 b 。
      楼上说得对, 你的代码就是用普通的IO模拟I2C功能。 由于是模拟,所以没有对应的SDA数据寄存器,只能通过一位一位的移位处理。
    11. 如何写代码隐藏wince任务栏 23/8188 嵌入式系统 2010-02-04
      learning
    12. sjf烧写NAND FLASH问题 12/4369 嵌入式系统 2010-01-29
      我的哈,看你的SIZE = 0x4000,16KB多 出现你这样无法启动的原因多了,但我最怀疑,你的分散加载文件没有设置好,一般ARM会自动把nand中前4KB内容转到SRAM中,你的init.s中的nandcopy中代码估计被你link到4KB以外的区域,在boot的时候,mcu完全找不到有效地址。。 还有个情况就是你,nand有坏块,烧写时和nandcopy时没有做好坏块检测
    13. 谁调过cw6626的蓝牙芯片??? 4/3832 嵌入式系统 2010-01-21
      可能是有些接口参数需要改一下…
    14. 问 :tornado2.0 bsp到2.2的移植 7/3305 嵌入式系统 2010-01-18
      这个看下 一些关键的硬件是否修改,首先确保 boot起来,
    15. 《STM32技术参考手册中文翻译第10版》 93/25606 stm32/stm8 2010-01-18
                                       thanks
    16. 待遇怎么样
    17. 学习下
    18. 学习中
    19.                                  我的代码: /* Includes ------------------------------------------------------------------*/ #include "stm32f10x_lib.h" #include  <stdio.h> /* Private function prototypes -----------------------------------------------*/ void RCC_Configuration(void); void GPIO_Configuration(void); void NVIC_Configuration(void); void EXIT_Configuration(void); void USART_Configuration(void); void Delay(vu32 nCount); ErrorStatus HSEStartUpStatus; /* Private functions ---------------------------------------------------------*/ /******************************************************************************* * Function Name  : main * Description    : Main program. * Input          : None * Output         : None * Return         : None *******************************************************************************/ int main(void) { #ifdef DEBUG   debug(); #endif   /* System Clocks Configuration */   RCC_Configuration();   /* Configure the GPIO ports */   GPIO_Configuration();   USART_Configuration();   /* NVIC configuration */   NVIC_Configuration();   /* NVIC configuration */   EXIT_Configuration();   printf(" System boot success!\r\n");   while (1)   {   } } /******************************************************************************* * Function Name  : RCC_Configuration * Description    : Configures the different system clocks. * Input          : None * Output         : None * Return         : None *******************************************************************************/ void RCC_Configuration(void) {   /* RCC system reset(for debug purpose) */   RCC_DeInit();   /* Enable HSE */   RCC_HSEConfig(RCC_HSE_ON);   /* Wait till HSE is ready */   HSEStartUpStatus = RCC_WaitForHSEStartUp();   if(HSEStartUpStatus == SUCCESS)   {     /* HCLK = SYSCLK */     RCC_HCLKConfig(RCC_SYSCLK_Div1);     /* PCLK2 = HCLK */     RCC_PCLK2Config(RCC_HCLK_Div1);     /* PCLK1 = HCLK/2 */     RCC_PCLK1Config(RCC_HCLK_Div2);     /* Flash 2 wait state */     FLASH_SetLatency(FLASH_Latency_2);     /* Enable Prefetch Buffer */     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);     /* PLLCLK = 8MHz * 9 = 72 MHz */     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);     /* Enable PLL */     RCC_PLLCmd(ENABLE);     /* Wait till PLL is ready */     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)     {     }     /* Select PLL as system clock source */     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);     /* Wait till PLL is used as system clock source */     while(RCC_GetSYSCLKSource() != 0x08)     {     }   }   /* Enable GPIOA, GPIOC,USART1 and AFIO clock */   RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA       | RCC_APB2Periph_GPIOB       | RCC_APB2Periph_GPIOC       | RCC_APB2Periph_GPIOD       | RCC_APB2Periph_GPIOE       | RCC_APB2Periph_GPIOF       | RCC_APB2Periph_GPIOG, ENABLE);       //| RCC_APB2Periph_AFIO } /******************************************************************************* * Function Name  : GPIO_Configuration * Description    : Configures the different GPIO ports. * Input          : None * Output         : None * Return         : None *******************************************************************************/ void GPIO_Configuration(void) {   GPIO_InitTypeDef GPIO_InitStructure;   /* ??PF6~10?LED */   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    /* LED */   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;   /*  50MHz,10M,2M */   GPIO_Init(GPIOF, &GPIO_InitStructure);   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;   GPIO_Init(GPIOD, &GPIO_InitStructure);   GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;   GPIO_Init(GPIOA, &GPIO_InitStructure);   GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource8); } /******************************************************************************* * Function Name  : NVIC_Configuration * Description    : Configure the nested vectored interrupt controller. * Input          : None * Output         : None * Return         : None *******************************************************************************/ void NVIC_Configuration(void) {   NVIC_InitTypeDef NVIC_InitStructure; #ifdef  VECT_TAB_RAM   /* Set the Vector Table base location at 0x20000000 */   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); #else  /* VECT_TAB_FLASH  */   /* Set the Vector Table base location at 0x08000000 */   NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); #endif   /* Configure the Priority Group to 2 bits */   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);   /* Enable the EXTI3 Interrupt on PD.3 */   NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel;   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;   NVIC_Init(&NVIC_InitStructure);   /* Enable the EXTI8 Interrupt on PD.8 */   NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;   NVIC_Init(&NVIC_InitStructure); } void EXIT_Configuration(void) {   EXTI_InitTypeDef EXTI_InitStructure;   EXTI_ClearITPendingBit(EXTI_Line3);//ж??   GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);//??   EXTI_ClearITPendingBit(EXTI_Line8);//ж??   GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource8);//??   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//??   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//??   EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line8;//·?   EXTI_InitStructure.EXTI_LineCmd = ENABLE;//ж   EXTI_Init(&EXTI_InitStructure);//? }   /******************************************************************************* * Function Name  : USART_Configuration * Description    : Configures the USART1. * Input          : None * Output         : None * Return         : None *******************************************************************************/ void USART_Configuration(void) { USART_InitTypeDef USART_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; //USART1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //USART1_TX 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); //USART1_RX GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); //USART1? USART_InitStructure.USART_BaudRate = 115200; 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_Tx | USART_Mode_Rx; USART_Init(USART1, &USART_InitStructure); #if USART_RXINT_EN USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); #endif USART_Cmd(USART1, ENABLE); return; } /******************************************************************************* * Function Name  : fputc * Description    : Retargets the C library printf function to the USART or ITM Viewer. * Input          : None * Output         : None * Return         : None *******************************************************************************/ int fputc(int ch, FILE *f) { /* Printf? */   USART_SendData(USART1, (unsigned char) ch);   while (!(USART1->SR & USART_FLAG_TXE));   return (ch); } #ifdef  DEBUG /******************************************************************************* * Function Name  : assert_failed * Description    : Reports the name of the source file and the source line number *                  where the assert error has occurred. * Input          : - file: pointer to the source file name *                  - line: assert error line source number * Output         : None * Return         : None *******************************************************************************/ void assert_failed(u8* file, u32 line) {   /* User can add his own implementation to report the file name and line number,      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */   /* Infinite loop */   while (1)   {   } } #endif void Delay(vu32 nCount) {   for(; nCount != 0; nCount--); } 复制代码
    20. WinCE 6.0里如何提高显示速度 5/3733 嵌入式系统 2009-12-03
      用双缓冲技术来显示吧 速度比较快。

最近访客

< 1/1 >

统计信息

已有122人来访过

  • 芯积分:--
  • 好友:--
  • 主题:6
  • 回复:58

留言

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


bingse8023 2012-2-23
STM32F107读U盘程序     能给发一下吗      568023351@qq.com            非常感谢啊
查看全部