-
很有参考价值的资料
-
汗,STM32出厂时是唯一的,可惜被别人克隆成不唯一了
-
在哪里配置
-
呵呵,注释没加//
-
请答复如果一主多从,SPI的4条管脚怎么接? 怎么用NSS实现片选功能?
所以我才说这个MCU很奇怪嘛.
-
谢谢!我使用的linux2.6.28内核,而自己编译的测试程序是基于linux2.6.24内核的BSP包。后来,发现28与24的PP结构体发生很大变化,造成我在应用层传给内核的内容部匹配,造成错误。所以,现在正修改24BSP包。不知道哪位有28的应用层BSP包?能否给予一份。谢谢!
-
后来抓到波形数据是发出去了,只是在发出Slave Address很晚之后才发,中间间隔时间太才,不知道如何缩短?
-
引用 36 楼 feifei694893239 的回复:
不知道什么东东,纯顶
+1
-
USB_OTG_Status USB_OTG_CoreInitHost(USB_OTG_CORE_DEVICE *pdev)
{
USB_OTG_Status status = USB_OTG_OK;
USB_OTG_fifo_size_data nptxfifosize;
USB_OTG_fifo_size_data ptxfifosize;
USB_OTG_OTG_ctl_data gotgctl;
USB_OTG_hc_char_data hcchar;
USB_OTG_host_cfg_data hcfg;
uint32_t num_channels, i;
gotgctl.d32 = 0;
/* Restart the Phy Clock */
WRITE_REG32(pdev->regs.pcgcctl, 0);
/* Initialize Host Configuration Register */
InitFSLSPClkSel(pdev);
hcfg.d32 = READ_REG32(&pdev->regs.host_regs->host_cfg);
hcfg.b.fslssupp = 1;
WRITE_REG32(&pdev->regs.host_regs->host_cfg, hcfg.d32);
/* Configure data FIFO sizes */
/* Rx FIFO */
WRITE_REG32(&pdev->regs.common_regs->rx_fifo_siz, 160);
/* Non-periodic Tx FIFO */
nptxfifosize.b.depth = 160;
nptxfifosize.b.startaddr = 160;
WRITE_REG32(&pdev->regs.common_regs->np_tx_fifo_siz, nptxfifosize.d32);
/* Periodic Tx FIFO */
ptxfifosize.b.depth = 128;
ptxfifosize.b.startaddr = nptxfifosize.b.startaddr + nptxfifosize.b.depth;
WRITE_REG32(&pdev->regs.common_regs->host_p_tx_fifo_siz, ptxfifosize.d32);
#ifdef DUAL_ROLE_MODE_ENABLED
/* Clear Host Set HNP Enable in the USB_OTG Control Register */
gotgctl.b.hstsethnpen = 1;
MODIFY_REG32( &pdev->regs.common_regs->otg_ctl, gotgctl.d32, 0);
#endif
/* Make sure the FIFOs are flushed. */
USB_OTG_FlushTxFifo(pdev, 0x10 ); /* all Tx FIFOs */
USB_OTG_FlushRxFifo(pdev);
/* Flush out any leftover queued requests. */
num_channels = 8;
for (i = 0; i < num_channels; i++)
{
hcchar.d32 = READ_REG32(&pdev->regs.hc_regs[i]->hc_char);
hcchar.b.chen = 0;
hcchar.b.chdis = 1;
hcchar.b.epdir = 0;
WRITE_REG32(&pdev->regs.hc_regs[i]->hc_char, hcchar.d32);
}
/* Halt all channels to put them into a known state. */
for (i = 0; i < num_channels; i++)
{
hcchar.d32 = READ_REG32(&pdev->regs.hc_regs[i]->hc_char);
hcchar.b.chen = 1;
hcchar.b.chdis = 1;
hcchar.b.epdir = 0;
WRITE_REG32(&pdev->regs.hc_regs[i]->hc_char, hcchar.d32);
do
{
hcchar.d32 = READ_REG32(&pdev->regs.hc_regs[i]->hc_char);
uDELAY (20);
}
while (hcchar.b.chen);
}
/* Disable HALT interrupt Masks */
for (i = 0; i < num_channels; i++)
{
USB_OTG_hc_int_msk_data hcintmsk;
hcintmsk.d32 = READ_REG32(&pdev->regs.hc_regs[i]->hc_int_msk);
hcintmsk.b.chhltd = 0;
WRITE_REG32(&pdev->regs.hc_regs[i]->hc_int_msk , hcintmsk.d32);
}
#ifndef DUAL_ROLE_MODE_ENABLED
USB_OTG_DriveVbus(pdev, 1);
#endif
USB_OTG_EnableHostInt(pdev);
return status;
}
看代码知道 接收 周期发送 非周期发送 一共是1.5K
但“总共1.25K字节的USB数据RAM区”
不能理解???
-
03FD0900 bne 03FD0938
03FD0904 ldr r1, [r0], #4
03FD0908 sub r2, r1, r12
03FD090C bic r2, r2, r1
03FD0910 ands r2, r2, r12, lsl #7
复制代码
-
up 等解答
-
引用 87 楼 i_am_j 的回复:
引用 84 楼 fjx1982441 的回复:
引用 83 楼 i_am_j 的回复:
把那块拉出来,单独编译,然后编出来的DLL把原来的覆盖掉。要省很多时间呢。
应该怎么做?我一直不太懂public下面的内容怎么单独编译。
把那个UART的目录铐出来加到你自己的BSP驱动下面,然后修改一下SOURCE文件,targettype改成dynlink,releasetype改为pl……
不是UART的目录,是hciuart.cxx,属于蓝牙的部分需要修改,和UART驱动没有关系,是微软的代码需要修改。
-
引用 2 楼 kyzf 的回复:
keil 2以及KEIL 3都用过,但记忆中没遇到楼主所说的问题。
MARK.
我一会我以前的Keil C的电子教程上传给你吧、
怎么传,,传给我份谢谢~~
-
引用 1 楼 sunrain_hjb 的回复:
大文件是不是可以只读取所需要的一部分到内存就可以了,
一般会读取三到五屏的数据到内存做显示。
读三到五屏对于一些字体设置等等改变控制会比较复杂吧,有没有详细点的说明
-
各位,我只懂MFC,有过3年大型项目开发经验,用VC开发,请问怎样才能转WINCE,有无可能性啊
-
CAN控制器使用时要注意:
初始化问题:主要设置工作方式、通讯速率、校验以及ID。
接收可以采用中断方式或者查询方式。建议楼主看看SJA1000的手册,了解具体寄存器的配置。
-
VirtualQuery API每个process都query一遍
-
在PB里面添加组件,并重新导出SDK。另外如LS所说,还要重新下载NK.
-
呵呵,路过
-
引用 3 楼 xumercury 的回复:
mark。。我倒是能读出来2440的ID号和Norflash的ID.但是目前还是写不进去vivi。
可能也得换RVDS来弄弄看
不过。。。你怎么是C-M3的核??截图上最后怎么是C-M3??
是找不到CPU后默认的设置吧