63745006

    1. 发现ADC寄存器的值写不进去 4/4804 stm32/stm8 2010-09-27
                                       建议先从ST提供的ADC例程开始,慢慢做试验
    2.                                  谢谢版主 !  明白了  配置有误  配置串口时,用校验位时数据位应当设为9,正常数据就是8位
    3. RS485通讯 15/6559 嵌入式系统 2010-05-21
      楼主可以在发送数据前加一个字节表示地址,然后发给各个下位单片机,下位机收到地址后如果和自己相同就打开串口,否则就关闭串口
    4. 超出FIFO空间的串口数据收发 13/6863 嵌入式系统 2010-05-12
      帮你顶
    5. 问一下友善之臂s3c2440那块板 3/3103 嵌入式系统 2010-05-05
      我也打算买个 不知道好不好用 关注中
    6. ExAllocatePoolWithTag函数只有在分配NonPagedXxx类型的内存是才可以运行在DISPATCH_LEVEL级别,否则只能运行在IRQL < DISPATCH_LEVEL下,不知道楼主分配的内存PoolType设置的是什么
    7. nand的R/B信号检测 11/4776 嵌入式系统 2010-04-20
      /***************************************************************            file:NAND FLASH operator     ***************************************************************/ /* Includes ------------------------------------------------------------------*/ #include "fsmc_nand.h" #include "UART.h" #include "ecc.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ #define DATA_BUS_INPUT()                LPC_GPIO2->DIR = 0x600 #define DATA_BUS_OUTPUT()                 LPC_GPIO2->DIR = 0x6ff #define CLE_ENABLE        0x03f0 #define ALE_ENABLE  0x02f0 #define WE_ENABLE        0x010f #define RE_ENABLE         0x000f #define CE_ENABLE        0x0a0f #define WP_ENABLE         0x090f #define CLE_DISABLE        0x030f #define ALE_DISABLE 0x020f #define WE_DISABLE        0x01f0 #define RE_DISABLE         0x00f0 #define CE_DISABLE        0x0af0 #define WP_DISABLE         0x09f0 /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ u32 FlashCurrentWriteSectorAddr;         //当前写的扇区地址 u32 FlashCurrentReadSectorAddr;          //当前读的扇区地址 u32 FlashNeedWriteBack;                                 //需要回写的标志                                                                            u8 FlashSectorBuf[FLASH_SECTOR_SIZE]; static u32 FlashBadBlockTable[2][FLASH_BAD_BLOCKS_REMAP+1]; static u32 FlashBadBlocksCount;   static u8 FlashRemapBlockStatus[FLASH_BAD_BLOCKS_REMAP+1]; static u32 FlashLastAccessAddr; void SystemDelay( u32 nCount ) ; /* Private function prototypes -----------------------------------------------*/ /** pin operator ! **/ /* IO2 */ void Io2_Set(unsigned char pin){         unsigned int io_data=1;         io_data=io_data 8) ) ;        }                                                         void EnableChip( void ) {         LPC_GPIO3->DATA = 0x3   ;         Io2_Set( 9 ) ;         Io2_Clr( 10 ) ;        //chip enable         } void DisableChip( void ) {         Io2_Set( 10 ) ;        //chip disable } /****************************************************************************** * Function Name : System delay a while                                                                         * Description         : after write cmmand , address , or data , there may be a short *                                  delay needed * Input         : The count * Output                : None * Return                 : None *******************************************************************************/ void SystemDelay( u32 nCount ) {         u32  nBegin ;         for( nBegin = 0 ; nBegin < nCount ; nBegin ++ )         {                 nBegin = nBegin ;         } } /* Private functions ---------------------------------------------------------*/ /******************************************************************************* * Function Name  : FSMC_NAND_Init * Description    : Configures the FSMC and GPIOs to interface with the NAND memory. *                  This function must be called before any write/read operation *                  on the NAND. * Input          : None * Output         : None * Return         : None *******************************************************************************/ void FSMC_NAND_Init(void) {         /* first data0 -> data7 ,  set as gpio pin */         LPC_IOCON->PIO2_0 &= ~0x07;                LPC_IOCON->PIO2_1 &= ~0x07;         LPC_IOCON->PIO2_2 &= ~0x07;         LPC_IOCON->PIO2_3 &= ~0x07;         LPC_IOCON->PIO2_4 &= ~0x07;         LPC_IOCON->PIO2_5 &= ~0x07;            LPC_IOCON->PIO2_6 &= ~0x07;            LPC_IOCON->PIO2_7 &= ~0x07;            LPC_IOCON->PIO3_0 &= ~0x07;                        LPC_IOCON->PIO3_1 &= ~0x07;                     LPC_IOCON->PIO3_2 &= ~0x07;                   LPC_IOCON->PIO3_3 &= ~0x07;                              LPC_IOCON->PIO2_9 &= ~0x07;                   LPC_IOCON->PIO2_10 &= ~0x07;            LPC_IOCON->PIO2_11 &= ~0x07;                            LPC_IOCON->PIO1_9 &= ~0x07 ;  /* USE FOR LED */                       LPC_GPIO1->DIR = 0x001 DIR = 0x6ff ;            LPC_GPIO3->DIR = 0x0f ;                                  } /*        P2_11        P2_10        P2_9        P2_8        P2_7        P2_6        P2_5        P2_4        P2_3        P2_2        P2_1        P2_0*/ /*        R/B.i        CE.o        WP.o                        DATA7 ------->------------------->------------------->DATA0.(i~o) */ /*        P3_3        P3_2        P3_1        P3_0*/ /*        CLE.o        ALE.o        WE.o        RE.o        */        /******************************************************************** ********************************************************************/ void RBDetect( void ) {//This function do not work correct ...         DATA_BUS_INPUT();         PrintU32( LPC_GPIO2->DATA )        ;                 //program dead here , can't detect R/B from high to low     while( (LPC_GPIO2->DATA) & 0x800  );                         //wait until high to low         SystemDelay(2);                    while( !((LPC_GPIO2->DATA) & 0x800) );          //wait until low to high } /*************************************************************************/ void WriteAddress( u8 addr) {         EnableChip();         ChipControl( CLE_DISABLE ) ;         ChipControl( ALE_ENABLE )  ;         ChipControl( WE_ENABLE )   ;         DATA_BUS_OUTPUT();         LPC_GPIO2->DATA = addr ;         ChipControl( WE_DISABLE )  ;         ChipControl( ALE_DISABLE ) ;         DisableChip();                                                                } void WriteCommand( u8 cmd) {                                                                                                           EnableChip();         ChipControl( ALE_DISABLE ) ;         ChipControl( CLE_ENABLE )  ;         ChipControl( WE_ENABLE )   ;         DATA_BUS_OUTPUT();         LPC_GPIO2->DATA = cmd ;         ChipControl( WE_DISABLE )  ;         ChipControl( CLE_DISABLE ) ;                           DisableChip(); } void ResetNand() {         WriteCommand(0xff);         RBDetect();   } void FlashInitilize( void ) {         UARTSend("begin !\r\n", 9);         FSMC_NAND_Init();         ResetNand(); } void NandReadOneSector( u8 *pSector , u32 addr ) {         u32 i ;         u32        caAddr , cbAddr ;                 caAddr = addr & 0x00000fff ;         cbAddr = ( addr & 0xfffff000 ) >> 12 ;         WriteCommand( 0x00 ) ;         WriteAddress( caAddr&0x00ff );         WriteAddress( caAddr>>8 );         WriteAddress( cbAddr&0x00ff );         WriteAddress( caAddr>>8 );         WriteCommand( 0x30 ) ;         RBDetect();                 for( i = 0 ; i < 512 ; i ++ )                 pSector = FlashReadDataByte(); } void NandWriteOneSector( u8 *pSector , u32 addr ) {         u32 i ;                u32        caAddr , cbAddr ;         caAddr = addr & 0x00000fff ;         cbAddr = ( addr & 0xfffff000 ) >> 12 ;         WriteCommand(0x80);         WriteAddress( caAddr&0x00ff );         WriteAddress( caAddr>>8 );         WriteAddress( cbAddr&0x00ff );         WriteAddress( caAddr>>8 );                   for(i=0;iDATA = pSector ;                                ChipControl(  WE_DISABLE );                           DisableChip();         }         RBDetect();         WriteCommand( 0x70 ) ;         i = FlashReadDataByte();         PrintU32( i ) ; } void ReadId(u8 *Buf) {         u8 i;                         WriteCommand( 0x90 ) ;         WriteAddress(0x00);         for(i=0;i
    8. STM8能捕获的最高频率 21/10633 stm32/stm8 2010-04-01
                                       可能你还是没有理解我的意思。 你应该使用2个通道按照我在10楼给出的图中所示,把输入信号同时送入2个通道,然后一个通道捕获上升沿,另一个通道捕获下降沿;这样就可以准确地测量输入的脉冲宽度,在输入信号的占空比为50%时,可以方便地转换为频率。如果输入信号的占空比不是50%,则在捕获中断中应能读到捕获上升沿的那个通道的再次捕获值,2次捕获值之差就是输入信号的频率。
    9. matlab怎么将数据传递给pspice 4/2574 嵌入式系统 2010-03-24
      我也遇到过同样的问题  怎么解答?大侠
    10. STM32批量价格,哪里最便宜 6/5128 stm32/stm8 2010-02-09
                                       原厂最便宜
    11. wince 下用evc来写串口通信。 23/6816 WindowsCE 2010-02-02
      先去看基础知识,搞懂了再编程
    12. 画电路板的软件 18/11395 嵌入式系统 2010-02-01
      pads
    13. 更改了project.bib,该怎么编译 16/5092 嵌入式系统 2010-01-21
      如果之前已经Build过系统 没有错误 这此只是改变了project.bib 那么直接Copy files to release dirctory   再make run-time image即可
    14. wince 6.0对java的支持如何? 6/5848 WindowsCE 2010-01-14
      引用 5 楼 yashi 的回复: wince6.0本身不带JAVA虚拟机,需要使用第三方软件。 对JAVA的支持怎么样,要看这个虚拟机怎么样,和wince本身没有什么太大关系。
      学习
    15. 電池驅動USB插拔造成display power off的問題 13/6171 嵌入式系统 2010-01-13
      这个应该和CE的源代码有关,当系统检测到AC电源移除的时候就自动调用display的D4状态,不知道有没有注册表的设置进行限制,如果没有的话估计就要找源代码改了。
    16. 优龙bootloader中的lcdInit.c 48/8709 嵌入式系统 2010-01-12
      U16(无符号16位)只是你的数组中数据的类型 也就是颜色值 RGB的
    17. ARM9200 低温工作不正常 68/20686 ARM技术 2009-12-18
      关注……
    18. sdk中包含模拟器吗?这点要先确定
    19. 友情帮顶下
    20. STM8S207的奇怪问题 15/5525 stm32/stm8 2009-11-30
                                       定时器计时比延时函数要精确些,楼主如果想解决问题,应该把程序拿出来,大家分析下

最近访客

< 1/1 >

统计信息

已有91人来访过

  • 芯积分:--
  • 好友:--
  • 主题:14
  • 回复:61

留言

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


现在还没有留言