gmy800101

    1. 4152有堆栈溢出自动复位机制啊!
    2. 一个STM32串口接收问题 5/5834 stm32/stm8 2011-02-16
                                       手册上不是说 读那个数据寄存器 可以自动清除标志位吗?我是菜鸟 不知道对不对 嘿嘿
    3. 求救STM8频率突变? 8/4234 stm32/stm8 2010-12-22
                                       建议改成中断方式延时。 你这里是不是让CPU等待的延时方法,这样的法,中断函数处理频率和处理内容的多少直接会影响你的这个电平频率的变化。
    4. 调试stm32f103rbt6出错,求助 6/3318 stm32/stm8 2010-12-17
                                       是不是芯片型号不对啊,我看错识提示和RAM,FLASH有关。
    5.                                  你们也就不要打击人家了,出这样的题目确实搞笑,但想想,人家只检测黑、白,那么对于二值图像的话,存储也不是很大问题吧?64K = 724X724的点了,但是人家可不要这么大,图像面积又不大。 嘿嘿,这样的话,关键也就是怎么采集图像了,而且是怎么采集二值图像。
    6.                                  #define DAT_I2C_DDR    PC.DDR.B4 #define DAT_I2C_CR1    PC.CR1.B4 #define DAT_I2C_CR2    PC.CR2.B4 #define DAT_I2C_ODR    PC.ODR.B4 #define DAT_I2C_IDR    PC.IDR.B4 #define SCL_I2C_DDR    PC.DDR.B5 #define SCL_I2C_CR1    PC.CR1.B5 #define SCL_I2C_CR2    PC.CR2.B5 #define SCL_I2C_ODR    PC.ODR.B5 #define SCL_I2C_IDR    PC.IDR.B5 unsigned  char  dat1154[3]= {0,0,5}; /****************************************************************************** 函数:i2c_delay() 功能: 说明: ******************************************************************************/ #define i2c_nop   nop() void  i2c_delay( void ) { nop(); nop(); nop(); } /****************************************************************************** 函数:I2C_init() 功能:I2C总线初始化,释放总路线;使总线处于空闲状态 (总线为输入) 说明:在main()函数的开始处,应当执行一次本函数 ******************************************************************************/ void I2C_init(void) { SCL_I2C_DDR=1; SCL_I2C_CR1=0; SCL_I2C_CR2=0; SCL_I2C_ODR=1; DAT_I2C_DDR=1; DAT_I2C_CR1=0; DAT_I2C_CR2=0; DAT_I2C_ODR=1; } /****************************************************************************** 函数:i2c_start() 功能:起动IIC 说明:执行前后都是输出模式 ******************************************************************************/ void I2C_Start(void) { SCL_I2C_ODR=1; SCL_I2C_DDR=1; i2c_nop; DAT_I2C_ODR=1; DAT_I2C_DDR=1; i2c_delay(); DAT_I2C_ODR=0; i2c_delay(); SCL_I2C_ODR=0; i2c_delay(); } /****************************************************************************** 函数:i2c_start() 功能:起动IIC 说明:执行前后都是输出模式 ******************************************************************************/ void I2C_Stop(void) {         SCL_I2C_ODR=0;         i2c_nop;         DAT_I2C_ODR=0;   i2c_delay();         SCL_I2C_ODR=1;   i2c_delay();         DAT_I2C_ODR=1;   i2c_delay(); } /****************************************************************************** 函数:I2C_Write() 功能:向I2C总线写1个字节的数据 参数:dat是要写到总线上的数据 ******************************************************************************/ unsigned char  I2C_Write(unsigned char dat) {         unsigned char n=8;   while(n)   {   i2c_delay();         if(dat&0x01)DAT_I2C_ODR=1;         else        DAT_I2C_ODR=0;   i2c_delay();                 SCL_I2C_ODR=1;   i2c_delay();         i2c_delay();         dat=dat>>1;n--;         SCL_I2C_ODR=0;   }   i2c_delay();         DAT_I2C_DDR=0;   i2c_delay();         SCL_I2C_ODR=1;   i2c_delay();         n=DAT_I2C_IDR; //NACK or ACK;         i2c_delay();         SCL_I2C_ODR=0;   i2c_delay();         DAT_I2C_DDR=1;   i2c_delay();         return n; } //****************************************************************** //.................先发高位................................ unsigned char  I2C_WriteMSB(unsigned char dat) {         unsigned char n=8;   while(n)   {   i2c_delay();         if(dat&0x80)DAT_I2C_ODR=1;         else        DAT_I2C_ODR=0;   i2c_delay();                 SCL_I2C_ODR=1;   i2c_delay();         i2c_delay();         dat=dat<<1;n--;         SCL_I2C_ODR=0;   }   i2c_delay();         DAT_I2C_DDR=0;   i2c_delay();         SCL_I2C_ODR=1;   i2c_delay();         n=DAT_I2C_IDR; //NACK or ACK;         i2c_delay();         SCL_I2C_ODR=0;   i2c_delay();         DAT_I2C_DDR=1;   i2c_delay();         return n; } /****************************************************************************** 函数:I2C_Read() 功能:从从机读取1个字节的数据 返回:读取的1个字节数据 ******************************************************************************/ unsigned char I2C_Read(unsigned char ack) {         unsigned char dat=0;         unsigned char t = 8;         DAT_I2C_DDR=0;         while(t--)         {          dat <<= 1;    i2c_delay();          SCL_I2C_ODR=1;          i2c_delay();          if (DAT_I2C_IDR)dat+=0x01;          i2c_delay();          SCL_I2C_ODR=0;          i2c_delay();         }         DAT_I2C_DDR=1;         DAT_I2C_ODR=ack; //NACK or ACK         i2c_delay();         SCL_I2C_ODR=1;         i2c_delay();         i2c_delay();         SCL_I2C_ODR=0;         i2c_delay();         return dat; }
    7. 【预告】 29/7200 stm32/stm8 2010-10-28
                                       好东西,得去研讨会弄块板子
    8.                                  我们讨论了一下,如果使用有源晶振可以提高EMC性能,但因为手头没有测试仪器,还没有做个实际的试验。
    9. 求助:IAR怎么通过JTAG下载调试 4/5811 stm32/stm8 2010-07-17
                                       JTAG软件安装后检测不到芯片。。 是不是需要装驱动啊?
    10. 版主,请教一个USART1的问题 8/4463 stm32/stm8 2010-07-07
                                       对的,波形是对的。 那USART1里面是否有哪个位是设置接收的时候先接收高位还是地位的吗? 因为UART4我也是这么设置的,然后跟其他MCU的UART通讯都是正常的。 所以我有点不明白了。
    11.                                  我现在的想法是加一个STM809之类的复位电路,但是和NRST之间串个1K左右的电阻, 因为JTAG调试的时候可能和STM809的复位引脚冲突。 谢谢5楼的解答,无需外挂复位电路, 但是否NRST引脚上拉比较安全?
    12. DS18B20 初始化失败 纠结中 11/7628 嵌入式系统 2010-06-26
      这个东西对时序要求比较严格,以前搞的时候是用51汇编写的,呵呵
    13. stm32片上AD供电的问题 9/5356 stm32/stm8 2010-06-24
                                       我的片上的VDD 和VDDA是分开供电的 为了不干扰模拟部分
    14. SD卡的密码擦出 7/4133 嵌入式系统 2010-05-31
      记不清了 有一个CMD 多少了,你找找手册,先送一个命令,然后才可以擦密码, 要不找一个pc 端的软件,用pc来擦
    15. 一个消息,当设备发生改变时候,系统会广播这个消息,应用程序可以捕获它 这个消息头文件里可能没有定义,但是wince中确实是有的,值好像=0x219,和windows上一样
    16. 触摸屏驱动 修改注册表值是哪一项? 15/6619 嵌入式系统 2010-05-20
      矫正之后,用远程注册表编辑器,把这几个数值读出来,写到BSP的reg里面,这样省得每次都得校验。
    17. 三星6410或c100硬件编解码棘手问题 25/10008 嵌入式系统 2010-05-19
      慢的话可以调一下MFC(6410这么说的)的内存大小; 还有提高MFC的频率。在一个头文件里 这是6410,c100我没搞哦
    18. LED左右循环程序 18/5724 嵌入式系统 2010-05-05
      如果用for语句,建议移位的时候用,因为用_crol_和_cror_虽然写的时候简单,但是调试的时候看汇编指令就知道比复杂的多了。建议改为 void main() { while(1) { temp=0xfe; temp1=0x7f; for(i=0;i
    19. 关于注册表的系统中断和物理中断的迷惑 11/3951 嵌入式系统 2010-03-27
      引用 4 楼 alien75 的回复: 这种方式是wince5之前版本是静态分配系统中断的方式。在ISR函数(如OEMInterruptHandler)中根据产生的此外设占用的物理中断来返回系统中断激活IST。
      正解! 应该是事先用静态方式绑定的中断。lz可以看看intr.c文件。
    20. 电子专业的同学,你学单片机了吗 208/63973 嵌入式系统 2010-03-14
      顶!!!!!!!!!!!!

最近访客

< 1/1 >

统计信息

已有134人来访过

  • 芯积分:--
  • 好友:1
  • 主题:7
  • 回复:74

留言

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


现在还没有留言