快速使用tim的简易demo

tim是支持无数据库模式的,在无数据库模式下,任何账号登录都无需密码。

tim也支持无配置启动。所以在tim下载页面 下载相应操作系统的的tim运行文件。直接运行启动即可:

启动界面如下:

tim无配置模式下,默认监听端口是:5120

如果端口被占用无法启动,那么需要配置文件中配置监听端口,如:配置文件为 tim.json  内容: { "im.listen": 5081}

运行:tim   -c  tim.json


这里提供一个简易页面进行消息发送接收显示

运行结果的界面如下:

html页面代码如下:

<html>
	<head>
		<script src="https://tim.tlnet.top/assets/js/timjs.js"></script>
	</head>
	<body>
		<div>
			<h1>我是tim测试号</h1>
			账号:<input value="" type="text" id="name" />
			<button onclick="login()">登录</button>
		</div>
		<div id="loginstat"></div>
		<div>
			<h1>发送信息给:</h1>
			账号:<input value="" type="text" id="toname" />
			信息内容:<input value="" type="text" id="msg" />
			<button onclick="send()">发送</button>
		</div>
		<hr />
		<div id="msgdiv"></div>
	</body>
	<script>
		var tc = new timClient(false, "localhost", 5120);
		tc.ackHandler = function(data) {
			let ta = new TimAck();
			ta = JSON.parse(data);
			switch (ta.timType) {
				case STAT.TIMAUTH:
					document.getElementById("loginstat").innerText = "登录成功"
					break;
				default:
			}
		}
		tc.messageHandler = function(data) {
			let tm = new TimMessage();
			tm = JSON.parse(data);
			switch (tm.odType) {
				case 1: //常规消息
					let msgdiv = document.getElementById("msgdiv");
					let s = "<p>" + tm.fromTid.node + "======>" + tm.toTid.node +":"+tm.dataString+ "</p>";
					msgdiv.innerHTML = msgdiv.innerHTML + s;
					break;
				default:
			}
		}
		function login() {
			let name = document.getElementById("name").value;
			tc.Login(name, "", "", "", 0);
		}
		function send() {
			let toname = document.getElementById("toname").value;
			let msg = document.getElementById("msg").value;
			tc.MessageToUser(toname, msg, 0, 0, null, null);
		}
	</script>
</html>

只要将页面运行起来,注意:页面必须是http或https可访问的,如:

直接用浏览器打开页面无法连接tim服务器。可以用nginx或其他任意http静态文件服务器。

打开两个浏览器标签页,任意账号都可以登录,互发信息。由于无数据库,因此也没有离线信息,只有登录在线才能收到信息。


有任何问题或建议请Email:donnie4w@gmail.com或 https://tlnet.top/contact  发信给我,谢谢!


STM32微控制器中的TIM5(Timer 5)是一个高级定时器/计数器,它提供了丰富的功能,用于实现精确的时间管理、PWM输出、捕捉和比较等。以下是使用TIM5的基本步骤: 1. **初始化TIM5**: 首先,你需要配置TIM5的工作模式(如正常模式、捕获/比较模式等),时钟源,预分频器,以及计数器的初始值。通常在STM32 HAL库中,你会调用`TIM_Init()`函数来进行初始化。 ```c TIM_HandleTypeDef htim5; TIM_ClockConfigTypeDef sClockSourceConfig; // 初始化TIM5 htim5.Instance = TIM5; htim5.Init.Prescaler = ...; // 根据你的需求设置预分频 htim5.Init.CounterMode = TIM_COUNTERMODE_UP; htim5.Init.Period = ...; // 设置周期 htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; if (HAL_TIM_Base_Init(&htim5) != HAL_OK) { // 处理错误 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_HCLK; sClockSourceConfig.Prescaler = ...; // 如果不是HCLK时钟,则配置此部分 if (HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK) { // 处理错误 } ``` 2. **启动TIM5**: 完成初始化后,使用`HAL_TIM_Base_Start_IT(&htim5)`或`HAL_TIM_Base_Start(&htim5)`开始定时器。 3. **中断处理**: 如果你需要在计数达到某个值或捕获到特定事件时执行操作,可以设置相应的中断。在TIM5中断配置中,可以启用TIM5溢出中断或捕获/比较中断,然后在对应的中断服务函数中编写你的代码。 ```c HAL_NVIC_EnableIRQ(TIM5_IRQn); __TIM5_IRQHandler(); // 替换为你的中断服务函数名 ``` 4. **停止和复位**: 当不再需要TIM5时,可以调用`HAL_TIM_Base_Stop(&htim5)`停止定时器,并使用`HAL_TIM_Base_Stop_IT(&htim5)`如果需要暂停特定事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值