微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 关于SyStick

关于SyStick

时间:10-02 整理:3721RD 点击:
今天简单看了看OPEN1081的滴答
说明文档上提出了说明:



系统systick已经被用作wifi协议栈的时基,定时1ms
所以不能再重新配置使用了
不过可以在中断函数里面添加简单功能
systick的中断函数是void SysTick_Handler(void)
位于stm32f2xx_it.c文件里面
这里做个简单的测试,定义一个全局共享变量get_flag,记得用volatile修饰一下哟,你懂的

void SysTick_Handler(void)
{
systick_irq();
NoOS_systick_irq();
if(get_flag>10){get_flag=0;}
else {get_flag++;}

}

在主函数里面
if(get_flag==10)
{
printf("%d\r\n",ADC_ConvertedValue[0]);
GPIO_ToggleBits(GPIOB,GPIO_Pin_12);
get_flag = 0;
}

PB12管脚上应该产生20ms周期的方波哈
撸上usb示波器一瞧
还真不错



20.03ms,有实体示波器的土嚎们勿喷。
不过在使用systick中,似乎不能正常读取18b20的数据
看了看18b20的驱动,延时函数似乎也是用的systick
这里有复用冲突吗?

有了systick作时基,数据采集就有有序得多了。

USBee效果还是不错的。

k 简单的波形还是能看再复杂一点或者是要捕获异常波形就不行了。。。

18b20用systick做延时中断用,而mico中已使用它做嘀嗒时钟,所以要用18b20,要软延时或用定时器

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top