OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3246|回复: 6

STM32单片机每个一定时间通过串口向上位机发送固定命令 求程序代码

[复制链接]

5

主题

12

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-9-28
在线时间
13 小时
发表于 2016-11-10 08:58:09 | 显示全部楼层 |阅读模式
19金钱

最佳答案

查看完整内容[请看2#楼]

写了,,钱给我吧....... //**********************′®¿úêy¾Y·¢Ëí****************************** void COM1SEND (u8 com1) { USART_SendData(USART1,com1); while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); } int main(void) { // u16 i=0; delay_init(); //Ñóê±oˉêy3õê¼»ˉ IO_Init(); //GPIO3 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

387

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1043
金钱
1043
注册时间
2016-9-8
在线时间
213 小时
发表于 2016-11-10 08:58:10 | 显示全部楼层
写了,,钱给我吧.......
//**********************′®¿úêy¾Y·¢Ëí******************************
void COM1SEND (u8 com1)
{
        USART_SendData(USART1,com1);
        while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
}         
int main(void)
{       
//        u16 i=0;                                                                                                       
        delay_init();                                                                                     //Ñóê±oˉêy3õê¼»ˉ
        IO_Init();                                                                                                   //GPIO3õê¼»ˉ
        NVIC_Configuration();                                                          //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏè¼¶£¬2λÏìó|óÅÏè¼¶
        uart_init(115200);                                                                        //2¨ìØÂê115200
        TIM3_Init(249,7199);                                                                //
        IWDG_Init(7,1875);                                                            //¿′ÃÅ1·òç3öê±¼äÎa12s                                  
  while(1)
        {
//***************
                if(T500F)                                                                                                                                  //
                {                                                                                                                                                                   //
                        T500F = 0;               
                }
//*****************′®¿ú½óêÕêy¾Y′|àí**********
                UART1_task();                       
//*******************************************
                if(T1000F)                                                                                                                         //¶¨ê±1Ãëê±¼ä¶á′Îê±¼ä
                {                                                                                                                                                                //Çå3y±ê־λ
                        T1000F = 0;
                         COM1SEND (a);       
                         COM1SEND (b);       
                        ...
                        ...
                        COM1SEND (x);                                               
                }
                if(T5000F)
                {
                        T5000F = 0;               
                        IWDG_Feed();                                                                                                        //5ÃëÎ11·
                }                       
        }
}
//****************¶¨ê±Æ÷3ÖD¶Ï·tÎñ3ìDò*******************************
void TIM3_IRQHandler(void)                                                           //TIM3ÖD¶Ï 25oáÃëÖD¶Ï
{                                                         
        static u8 t500c = 0;                                                                                //0.5Ãë¼ÆêyÆ÷¼ÆêyÆ÷
        static u8 t1000c = 0;                                                                                //1Ãë¼ÆêyÆ÷
        static u8 t5000c = 0;                                                                                //5Ãë¼ÆêyÆ÷
        if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)   //¼ì2éTIM3¸üDÂÖD¶Ï·¢éúóë·ñ
        {         
                t500c++;
                t1000c++;
                t5000c++;
       
                if(t5000c==200)                                                                         //5Ãëê±¼äμ½
                {
                        t5000c = 0;
                        T5000F = 1;       
                }
                if(t500c==20)                                                                                 //0.5Ãëê±¼äμ½
                {
                        t500c = 0;
                        T500F = 1;       
                }
                if(t1000c==20)                                                                         //0.8Ãëê±¼äμ½
                {
                        t1000c = 0;
                        T1000F = 1;
                }
                TIM_ClearITPendingBit(TIM3,TIM_IT_Update);                 //Çå3yTIMx¸üDÂÖD¶Ï±êÖ¾
        }
}

shop60994719.taobao.com
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13102
金钱
13102
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-11-10 09:15:56 | 显示全部楼层
求钱
回复

使用道具 举报

10

主题

172

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1479
金钱
1479
注册时间
2016-1-25
在线时间
260 小时
发表于 2016-11-10 09:23:20 | 显示全部楼层
这个很简单的 都不用求的哈
你直接把原子的定时器实验和串口通信实验整合一下就可以了
回复

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2016-11-10 09:32:32 | 显示全部楼层
3楼说的很对啊,直接把定时器和串口通信整合到一个工程里就可以实现定时发送了。
我是可以什么都不说 ,但不可以什么都不做。
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-11-10 09:45:15 | 显示全部楼层
闭着眼睛,分分钟就能解决的问题也来问,无语了
回复

使用道具 举报

1

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1183
注册时间
2015-5-28
在线时间
149 小时
发表于 2016-11-10 10:29:05 | 显示全部楼层
伸手党,无疑~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 02:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表