-
初识 我其实想看IAR 编译的 没见到
-
各位大侠帮忙分析下,我有点摸不着头脑。
谢谢。
-
-
个人感觉只带47k以上的负载(3.3V/47k=70uA)应该是ok的。
1M的负载则是非常保险。,如何理解
-
如果你在其它地方没有对PC端口的操作,那么中断肯定不会对这段程序产生影响。
-
USB_OTG_Status USB_OTG_CoreInitDev (USB_OTG_CORE_DEVICE *pdev)
{
USB_OTG_Status status = USB_OTG_OK;
USB_OTG_dev_ep_ctl_data depctl;
uint32_t i;
USB_OTG_dev_cfg_data dcfg;
USB_OTG_fifo_size_data nptxfifosize;
USB_OTG_fifo_size_data txfifosize;
USB_OTG_dev_in_ep_msk_data msk;
dcfg.d32 = 0;
/* Set device speed */
InitDevSpeed (pdev);
/* Restart the Phy Clock */
WRITE_REG32(pdev->regs.pcgcctl, 0);
/* Device configuration register */
dcfg.d32 = READ_REG32( &pdev->regs.dev_regs->dev_cfg);
dcfg.b.perfrint = DCFG_FRAME_INTERVAL_80;
WRITE_REG32( &pdev->regs.dev_regs->dev_cfg, dcfg.d32 );
/* set Rx FIFO size */
WRITE_REG32( &pdev->regs.common_regs->rx_fifo_siz, 160/*pdev->cfgs->host_rx_fifo_size*/);
/* Non-periodic Tx FIFO */
nptxfifosize.b.depth = DEV_NP_TX_FIFO_SIZE;
nptxfifosize.b.startaddr = RX_FIFO_SIZE;
WRITE_REG32( &pdev->regs.common_regs->np_tx_fifo_siz, nptxfifosize.d32 );
txfifosize.b.depth = DEV_NP_TX_FIFO_SIZE;
WRITE_REG32( &pdev->regs.common_regs->dev_p_tx_fsiz_dieptxf[0], txfifosize.d32 );
txfifosize.b.startaddr += txfifosize.b.depth;
txfifosize.b.startaddr = nptxfifosize.b.startaddr + nptxfifosize.b.depth;
/* Flush the FIFOs */
USB_OTG_FlushTxFifo(pdev , 0x10); /* all Tx FIFOs */
USB_OTG_FlushRxFifo(pdev);
/* Clear all pending Device Interrupts */
WRITE_REG32( &pdev->regs.dev_regs->dev_in_ep_msk, 0 );
WRITE_REG32( &pdev->regs.dev_regs->dev_out_ep_msk, 0 );
WRITE_REG32( &pdev->regs.dev_regs->dev_all_int, 0xFFFFFFFF );
WRITE_REG32( &pdev->regs.dev_regs->dev_all_int_msk, 0 );
for (i = 0; i <= MAX_TX_FIFOS; i++)
{
depctl.d32 = READ_REG32(&pdev->regs.inep_regs[i]->dev_in_ep_ctl);
if (depctl.b.epena)
{
depctl.d32 = 0;
depctl.b.epdis = 1;
depctl.b.snak = 1;
}
else
{
depctl.d32 = 0;
}
WRITE_REG32( &pdev->regs.inep_regs[i]->dev_in_ep_ctl, depctl.d32);
WRITE_REG32( &pdev->regs.inep_regs[i]->dev_in_ep_txfer_siz, 0);
WRITE_REG32( &pdev->regs.inep_regs[i]->dev_in_ep_int, 0xFF);
}
for (i = 0; i < 1/* NUM_OUT_EPS*/; i++)
{
USB_OTG_dev_ep_ctl_data depctl;
depctl.d32 = READ_REG32(&pdev->regs.outep_regs[i]->dev_out_ep_ctl);
if (depctl.b.epena)
{
depctl.d32 = 0;
depctl.b.epdis = 1;
depctl.b.snak = 1;
}
else
{
depctl.d32 = 0;
}
WRITE_REG32( &pdev->regs.outep_regs[i]->dev_out_ep_ctl, depctl.d32);
WRITE_REG32( &pdev->regs.outep_regs[i]->dev_out_ep_txfer_siz, 0);
WRITE_REG32( &pdev->regs.outep_regs[i]->dev_out_ep_int, 0xFF);
}
msk.d32 = 0;
msk.b.txfifoundrn = 1;
MODIFY_REG32(&pdev->regs.dev_regs->dev_in_ep_msk, msk.d32, msk.d32);
USB_OTG_EnableDevInt(pdev);
return status;
}
这个函数是设备模式下初始函数
/* Non-periodic Tx FIFO */
nptxfifosize.b.depth = DEV_NP_TX_FIFO_SIZE;
nptxfifosize.b.startaddr = RX_FIFO_SIZE;
WRITE_REG32( &pdev->regs.common_regs->np_tx_fifo_siz, nptxfifosize.d32 );
txfifosize.b.depth = DEV_NP_TX_FIFO_SIZE;
WRITE_REG32( &pdev->regs.common_regs->dev_p_tx_fsiz_dieptxf[0], txfifosize.d32 );
txfifosize.b.startaddr += txfifosize.b.depth;
txfifosize.b.startaddr = nptxfifosize.b.startaddr + nptxfifosize.b.depth;
这段代码好像有问题
-
我也打算开始学了,楼上的说说怎么才可以学好
-
这个是因为CMNET和CNWAP接入点不一样导致的吧。
在某些地区,确实只能通过代理才能正常上网。
-
引用 2 楼 kyzf 的回复:
K9F1208 肯定有唯一的器件对应的ID,
这个是可以读取的,具体楼主看下K9F1208的技术手册,就能知道。
这样就可以根据ID做到 多片不同的FLASH的批次兼容。
而S3C2440倒没有听说有对应的硬件ID,
这个楼主也可以看看 对应的技术手册。
一般MCU和CPU好像 都没有ID吧
同一型号不同ID,或者序列号,主要想读出他们的唯一标识
-
记得上次是程序匠人要的,看看是不是这个:
STM32F10xx Pin Assignment.zip (18.11 KB)
下载次数:103
2010-3-27 13:46
-
总线中断可能归DMA处理也有可能归CPU处理,而CPU中断只可能归CPU处理
-
与门如何使用,能详细些吗?我想知道
-
我前面说错了,是 STC12C5412 休眠后的中断唤醒为电平触发。单纯的中断还是可以边沿触发的。
-
这个问题出现在元旦后焊接的板子上。之前焊接时10.1之前焊接的。芯片的ESD电压是2000V,会不会跟这个电压相对较低有关呢?
-
这个文章上也说了ARGS 80020800 00000800 RESERVED
-
学习
-
公布一下,请高手斧正
@echo off
echo #################################################
cd F:\Voice Test\Source Audio\audio\SRC
for /f "delims=" %%d in ('dir /ad /s /b /on') do (
xcopy "%%d\*-0016.wav" ..\DES\cmd1\
xcopy "%%d\*-0020.wav" ..\DES\cmd2\
xcopy "%%d\*-0028.wav" ..\DES\cmd3\
xcopy "%%d\*-0081.wav" ..\DES\cmd4\
xcopy "%%d\*-0055.wav" ..\DES\cmd5\
xcopy "%%d\*-0051.wav" ..\DES\cmd6\
xcopy "%%d\*-0053.wav" ..\DES\cmd7\
xcopy "%%d\*-0056.wav" ..\DES\cmd8\
xcopy "%%d\*-0052.wav" ..\DES\cmd9\
xcopy "%%d\*-0033.wav" ..\DES\cmd10\
xcopy "%%d\*-0029.wav" ..\DES\cmd11\
xcopy "%%d\*-0087.wav" ..\DES\cmd12\
xcopy "%%d\*-0107.wav" ..\DES\cmd13\
xcopy "%%d\*-0031.wav" ..\DES\cmd14\
xcopy "%%d\*-0076.wav" ..\DES\cmd15\
)
@echo ###################### done #####################
pause
-
jf
-
好象就一个KEIL就可以搞定了吧~~~
-
刚刚下载的3.12的库,没搞清楚如何在KEIL中使用