
keil C
文章平均质量分 75
john_liqinghan
我的人生需要一步步的积累需要一步步的实现也许前方是泥泞不堪但我也会风雨无阻的前行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OV7740使用方法2
关于硬件的连接: SDA和SCL线一定要接上拉,我使用STM32时候,没有加上拉,一直搞不出图像,加两个上拉现在好了! 帧率的计算: fps = pclk/(2*HtpCounter*Vcounter) YUV模式fps = pclk/(HtpCouter*VCounter) RGB模式OV 7740默认输出的是YUYV的原创 2013-04-25 22:34:29 · 4574 阅读 · 0 评论 -
使用STM32CubeMx创建U盘读写程序
平台windows 7CPU:STM32F205软件:keil 5下载STM32CubeMx:http://pan.baidu.com/s/1bpsvV6R安装好后,建立usbMassClass工程,注意选择芯片。选择自己要的功能如下图:外部是时钟的选择:FSUSB的选择debug口选择UASRT1选择USB IPco原创 2017-01-21 11:18:35 · 17555 阅读 · 11 评论 -
STM32连接射频si4438模块
SI4438射频模块参数:1、频率范围:425-525 MHz2、数字接收信号强度指示(RSSI)3、64字节收发数据寄存器(FIFO)4、跳频功能等!使用SI的WDS工具生成代码1、 选择仿真模式2、 芯片选择si4438 B1模式3、 Radio Configuration Application4、 Select Application原创 2017-02-14 22:44:55 · 9438 阅读 · 0 评论 -
AT24C128 EEPROM的读写
记录AT24C128 eeprom的多字节读写#define _EEPROM_DEBUG_LEVEL 0 #if _EEPROM_DEBUG_LEVEL == 1 #defineEEPROM_DEBUG(fmt,args...) do{ \ printf(fmt,##args);\ }while(0原创 2017-02-17 21:22:16 · 7583 阅读 · 0 评论 -
STM32程序跳转需要注意的问题
Note: keil生成的.axf或者.elf都是可以执行的镜像文件。IAP User Program 需要注意的问题要设置好好中断向量的问题,假设User Program 开始地址是(0x08008000),那么中断向量就必须设在在0x08008000处,中断向量要设置program的开始的位置。User Program到IAP主要是要设置好中断向量,跳转前要注意设置中断原创 2014-03-27 18:24:22 · 8751 阅读 · 5 评论 -
STM32的SysTick
SysTick配置函数:static __INLINE uint32_t SysTick_Config(uint32_t ticks){ if (ticks > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible,ticks过大 */原创 2012-12-29 20:24:45 · 1612 阅读 · 0 评论 -
STM flash数据读取
/////////////**************************.h文件*********************************///////////////////////////////////#ifndef _FLASH_CTRL_H_#define _FLASH_CTRL_H_#ifdef STM32F10X_HD#define FLASHADDRS原创 2013-04-12 17:14:02 · 1942 阅读 · 0 评论 -
STM32 IO 问题
今天调试一块板子出现如下问题:某口 PB5,用某个芯片的复位工作。配置如下:#define GPIO_PIN_REST GPIO_Pin_5GPIO_InitStructure.GPIO_Pin = GPIO_PIN_REST;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;GPIO_Init(GPIOB, &GPIO_原创 2013-04-19 11:09:22 · 1294 阅读 · 0 评论 -
STM32 IWDG设置
STM32 内部看门狗的设置STM32 有两个看门狗,这里介绍的是IWDG内部看门狗。时钟来源: 内部的40KHz的时钟,与系统时钟无关!如下所示:这里的fsoc才是IWDG真正的时钟!(IWDG_Prescaler_XX指的是XX分频)。IWDG的重载值寄存器:RLR 是一个16位的寄存器,只有低12bit可以使用,其他的保留!所以重载值最大是0x原创 2014-03-07 18:41:42 · 10570 阅读 · 0 评论 -
STM32 多个个APP的跳转
#define IapApplicationAddress 0x08000000//这里是要跳转的APP的起始地址。typedef void (*pFunction)(void);uint32_t JumpAddress;unsigned int systime;pFunction Jump_To_Application;void JumtoIap(void)原创 2014-03-27 18:20:40 · 4688 阅读 · 0 评论 -
TCP/IP for IPS210 一些收获
1.cgi_function关于浏览器向后台提交htm顺序:谷歌和360浏览器是不同的://360提交item的顺序 //按顺序提交,从上到下提交item CGI顺序[0,Source,2][1,RGain,1][2,GGain,0][3,BGain,0][4,ROffset,11][5,GOffset,0][6,BOffset,6][7,Balac原创 2014-09-26 17:38:25 · 949 阅读 · 0 评论 -
USB那点事3 -使用端口2作为custom HID的传输
USB custom HID例子中是使用了端口1作为通信,那么现在我使用端口2作为通信端了,该如何修改呢?如下所示:首先修改:usb_desc.c中的const u8 CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC]这个字符数组里面的内容:如下红色的为修改部分,未列出的不用修改: USB_ENDPOINT_DESCRIPT原创 2013-01-24 14:50:44 · 4977 阅读 · 2 评论 -
串口传送数据出错!
原本是对的。我一直按住复位键,然后在放开复位键,发现串口竟然不发送了!神奇,要再按几次复位键发送数据。但是发送的数据和原来根本不一样!求解???应该是程序出错了!!!!原创 2013-03-01 16:50:07 · 1875 阅读 · 0 评论 -
1s钟闪烁一次设计的bug。
while(1){if((systickTime%1000)==0x00){if(GPIO_ReadOutputDataBit(LEDPORT,LEDPIN) == 0) LED_OFF;else LED_ON;}}看似没有bug,细想一下就可以看出来了。while循环里面执行一次需要的时间根本达不到1ms,所以在systickTime还没变化之前就已经执行while循原创 2013-05-27 09:14:39 · 942 阅读 · 0 评论 -
指针变量
很容易弄错。指针必须指向一块内存才可以对他指向的地方给值typedef struct _tagStillwen{unsigned char element;unsigned char count;}stwen;stwen *pStwen;void init(){pStwen -> count =0;pStwen-> elemen=0;原创 2013-05-22 20:33:57 · 712 阅读 · 0 评论 -
STM32 keilC 局部变量和全局变量
keil C中的局部变量是放在栈中,而栈大小在启动文件中设置好了的,所以在写函数的局部变量的时候不应该定义大的数组,不然栈不够装,就会就会导致局部变量的地址和全局变量的地址重叠。原创 2013-05-15 22:48:05 · 9763 阅读 · 0 评论 -
STM32 内部flash的读写程序
/* Base address of the Flash sectors */#define ADDR_FLASH_SECTOR_0 ((uint32_t)0x08000000) /* Base @ of Sector 0, 16 Kbytes */#define ADDR_FLASH_SECTOR_1 ((uint32_t)0x08004000) /* Base @ of S原创 2017-03-07 13:04:39 · 1389 阅读 · 0 评论