-
搞那么复杂,启动DMA之前先用SPI_SendByte这种方式把命令和地址发过去,然后根据读还是写分别启动DMA RX和DMA TX,DMA RX之前把SPI设置为SPI_Direction_2Lines_RxOnly,还要读一次SPIx->DR,以清除RXNE标志,避免DMA接收到的数据前面多一个无效字节。
等待FlashReady之前,一定要等到DMA传输完毕(即检查SPI_I2S_FLAG_TXE和SPI_I2S_FLAG_BSY标志),以免过早释放CS。另外完全不需要CRC检查。
-
用51定时器门控方式,外部加分频电路,统一将频率降至1~50Hz之间;即可;
版主,STM32定时器功能这么强大,时钟和信号输入都有分频电路,而且定时器之间也能级联,我用STM32的目的是想省去复杂的外围分频电路;我想STM32肯定能行,只有还没有找到组合方式;大家有好的思路请提出来,通过这样的讨论,能加深对定时器的应用,实±0.004%精度
-
st的三合一,很简单的例程,利用内部温度传感器采集温度,通过串口发送出来,控制LED闪烁。
用stlink调试OK,用jlink调试串口发不出数据,但是LED闪烁正常。
官方软件当然是st的flash loader demo V1.3
mcuisp连接提示成功,但是擦除后,原来的程序还在运行,岂不是没效果,也就是没擦掉啊
-
嵌入式是在硬件的基础上用软件来驱动硬件工作实现一定的功能
-
不用弄那么复杂,就是两种电源模块嘛,买的时候别人也会跟你说的
-
也没用过这款芯片
-
恩,多谢
-
标准的SDK,EVC4的安装包里就有
-
楼主啊,这个不是驱动啊,你的这个是上层测试应用程序,也不知道楼主有没有写底层驱动模块。有没有加载驱动模块。
-
急用,自己先顶一下
-
肯定是可以的,另外,楼主所说的延时是指哪个地方需要延时
按键去抖,LCD背光时间控制等等...
-
mark!
-
定义前面的话不能避开程序区,我试过了。
-
先谢谢两位的耐心解答。
因为是一个底层的协议程序,发送时涉及到重发的问题(发送后一秒内若没有收到确认,则重发)。重发时收发任务的转换还是比较频繁的。我现在用了两个信号量,分别用于发送RTS和DATA,把这两个发送分开写了。任务开始加SemTake(),在收任务处按照需要加SemGive()。试了一下RTS的发送,基本符合期望。
-
引用 5 楼 gooogleman 的回复:
引用 4 楼 shenmou 的回复:
发现,这个问题是随机性的。 有时候正常,有时候不正常。 而且次数不定。
汗,没有出现过。还有这等随机的事情?
发现这种情况,伴随的是dhcp 无法获得地址。同时,如果dhcp 获得地址的话,就变回一个了。
-
STM32用有源晶振会好很多,基本与使用内部的RC振荡器一样。
-
改注册表是王道,也是主流…
-
CDC *dc=GetDC();
CDC Memdc;
Memdc.CreateCompatibleDC(NULL);
CBitmap* oldbitmap;
CBitmap m_heitao
//显示黑桃
m_heitao.LoadBitmap(Heitao[nValue[0]]);
oldbitmap=Memdc.SelectObject(&m_heitao);
dc->BitBlt(Pos1,80,71,96,&Memdc,0,0,SRCCOPY);
Memdc.SelectObject(oldbitmap);
m_heitao.DeleteObject();
//删除兼容DC
Memdc.DeleteDC();
复制代码可以参考一下(MFC下的),呵呵…
-
回cfanlwn: 是的。因为用到了一个USB转串口的芯片,所以要安装下驱动,当然就像平常那样的,当硬件接上PC后,按照提示一步一步安装也可以。但是这样子一来是使得用户的使用变得麻烦,而且增加了安装过程的风险(比如说MS的数字认证问题)。所以现在要将驱动在安装程序的时候就安装上去。
就是不晓得应该怎么做啊。。。
-
硅管的饱合压降一般为0.7V,如果不断加电压,肯定会烧毁啊.