呵呵 先等待公布名单了
3.28
今天收到DIY的pcb板子了,绿油油的,呵呵,开始买件了
manhuami2007 ARM DIY 进程帖
昨天我的零件包到了,花了我快二百大洋啊,呵呵。经过昨天与今天的努力终于完成了焊接,好辛苦啊,放上图片,我的焊工太差了,大家不要笑话啊。
这是元件包
这是今天焊完成的,手机不好,照的太差了,不过我焊的也难看,呵呵。
在焊接stm32f103的时候,想用一次传说中的脱焊,可能是我还没领略到其中的精髓,焊失败了,直接干掉一个片子。好了先去吃饭,吃完上传我的跑马灯程序,呵呵。
下面是我的跑马灯程序
最近有点小忙,所以好久没更新了,今天学了学用printf发送数据,而且还编了个,我发什么,超级终端上显示什么的小程序。
使用printf函数必须在options for target ---- target----code generation 中 勾选use microLIB。而且在源程序中加入如下代码
#include <stdio.h>
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the USART */
USART_SendData(USART1, (uint8_t) ch);
/* Loop until the end of transmission */
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)
{}
return ch;
}
我还编写了一个自发自显的程序下面是效果图
下面是源代码,各位可以参考下
manhuami2007 串口.zip
4.26 今天光研究systick了,因为驱动DS18B20需要一定时间的延时,所以想采用systick,一共有3中方法实现延时第一种也就是最简单的使用for循环,但是不精确,实现us级的延时怕不好使,还有两种方法就都是使用systick了,一种需要进中断,一种不需要进中断,进中断会浪费系统时钟,所以我选择的是不进中断的,现在把下面两种方法都说一下
stm32的systick的程序设置,当使用systick_config()函数之后,其计数寄存器的载入值就是你输入的参数,并且自动打开中断,并将中断设为最低的优先级,将其时钟设为HCLK即系统时钟72mhz,并重置计数寄存器开始计数。也可以将时钟设置为HCKL的八分频,通过使用SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8) 紧跟在systick_config()之后,而改变优先级则使用NVIC_SetPriority(SysTick_IRQn,...) 函数,而时基单元的设置使用如下公式,Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s) Reload Value 就是传递进去的参数。但参数不能超过0xFFFFFF,也就是说通过systick_config()这一个函数就实现了systick的各种设置,也会自动打开中断,下面是源代码
延时函数
void delay_systick_it(uint16_t time)
{
timedly=time;
while(timedly!=0);
}
中断函数
void SysTick_Handler(void)
{
if(timedly!=0)
{
timedly--;
}
}
而要想不进中断实现延时就要通过写寄存器来实现了,下面是相关寄存器的图片
systick的时钟,systick的时钟包括内部时钟和外部时钟,对于stm32 其内部时钟FCLK就是AHB的时钟,72MHz,外部时钟就是8分频后的时钟,9MHz。因此使用systick_config()函数时其默认时钟为72MHz。不进中断的延时的相关代码如下
void delay_systick_ask(uint16_t time)
{
uint32_t temp;
SysTick->LOAD=9000*time;
SysTick->VAL=0x00;
SysTick->CTRL=0x01;
/*第0位 使能Systick 第1位 0无动作 1中断请求
第二位 0内部时钟72MHz 1外部时钟9MHz 第16位指出是否计数到0*/
do
{
temp=SysTick->CTRL ;
}while((temp&0x01)&&(!(temp&(1<<16))));
SysTick->CTRL=0x00;
SysTick->VAL=0x00;
}
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |