你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
zxdsccd

zxdsccd

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
1 回答

STM8L001J3单片机SPI丛机通信数据异常的问题

STM8
疯de_恒 疯de_恒 回答时间: 2019-1-17 09:12

就是从机反应慢了。中断处理就好了。

赞0
5 回答

stm8S001J3不能连接烧录器,有用过的朋友没??

未设置标签
baolin-407848 baolin-407848 回答时间: 2019-12-10 16:31

zxdsccd 发表于 2019-1-3 18:44 问题已经找到了,有点扯蛋,卖家把东西发错错了,我要的是STM8S001J3,卖家发成了STM8l001j3,两个外观几乎 ... 是不是烧录完后,5S内把烧录器断开才行,我现在延迟5S后,去配置SWIM为串口,依然不能烧录第二次,MCU还锁死了。报废好几个IC了。

赞0
1 回答

STM8L152 与M24M02通信异常,重复起始位后M24M02对地址位没有...

STM8
zxdsccd zxdsccd 回答时间: 2019-1-3 19:09

我自己回复总结一下,在写命令是没啥特殊的,起始位,器件地址+写位,存储地址高字节,存储地址低字节,数据。。。。。,写模式所有应答都由从器件M24M02产生,没传送一个字节后主机收到应答才能传送下一个字节。 读模式麻烦一点,我的问题也出在这,先发送伪写命令来改变M24M02内部的地址指针,M24M02内部的地址指针是上次读或写命令结束时的地址指针,如果不需要改变该指针可以不发送伪写命令,直接读就行,伪写命令为 起始位,器件地址+写位,存储地址高字节,存储地址低字节,停止位。停止位可以不要,停止位只是起到释放总显的作用,应为后面已经连接的两器件还需要通信,所以可以不释放总线,即可以不发送停止位。 伪写命令后接着发送起始位,器件地址+读位,丛机应答,然后主机进入接收模式自动接收M24M02发出的数据,接收数据时应答由主机产生,丛机每收到一个应答,将下一个数据发送到总线,丛机内部数据地址指针自动加1,如果主机忙,则等待主机空闲再自动发送数据,主机有两个接收数据暂存器,一个为真正的暂存器I2C_DR,一个为串行数据接收器,该接收器接收到8位数据后将数据放入I2C_DR中,如果I2C_DR有数据,则等待I2C_DR空后才将数据放入I2C_DR中,在等待的过程中主机拉低总线,告诉丛机现在主机忙,待会空闲时再发送数据,~!!!!!!!!!!!!!最关键的就在这,如果只是读取一个数据,则主机发不发送应答位都无所谓,只要接收完成后发送停止位来释放总线就行。如果是接收多个数据,且主机有其他工作要做,所以主机读I2C_DR较慢,则在最后一个数据你想停止接收的时候,I2C_DR中和串行接收器中都有数据,计算接收数据个数的时候一定要把这两个数据考虑进去,不然容易出错。我的问题就是没有计算这两个数据,导致老是和需要的数据错位。

赞0
4 回答

STM8L153R8T6定时器采用外部时钟计数始终是4分频,不知道原因

STM8
q125028120 q125028120 回答时间: 2018-8-15 10:13

你好,可以请教一下是如何学习的吗

赞0
3 回答

STM8L152R8T6定时器中断异常

STM8
zxdsccd zxdsccd 回答时间: 2018-4-10 22:39

根本原因找到了,问题出在预装载寄存器上,下面这段程序并没有把值写入对应的寄存器,而是写在预装载寄存器里面,在发生更新(溢出)时才会写入对应的寄存器里面, void TIM2_Init(void) { CLK_PCKENR1_PCKEN10=1;//开启定时器2外设时钟 TIM2_PSCR  = 0x07;//使用内部时钟,4分频 //TIM2_CNTRH = 0x00; //TIM2_CNTRL = 0x00; TIM2_ARRH  = 0x23;//自动重载值9000,计数到此值计数器从0开始重新计数 TIM2_ARRL  = 0x28; TIM2_CNTRH = 0x00; TIM2_CNTRL = 0x00; TIM2_CCR1H = 0xff; TIM2_CCR1L = 0xff; TIM2_CCR2H = 0xff; TIM2_CCR2L = 0xff; //TIM2_ARRH  = 0xC0; // 自动重载寄存器,复位默认值为0xff,所以不用设置 //TIM2_ARRL  = 0x00; // 计数达到该值即重头开始计数,(更新) TIM2_IER   = 0x01; // 允许更新中断 TIM2_SR1_UIF  = 0; //TIM2_CR1   = 0x81; // 开始计数 } 在这段程序的末尾加一个强制更新命令即可, TIM2_EGR_UG   =1; 到这程序运行就全部正常了。 意法的定时器功能太多了,以前用AVR、PIC、合泰的设置都没这么复杂,这个问题折腾了我一周时间。希望刚开始用意法的同行引以为戒

赞0
zxdsccd zxdsccd


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16